Jvm 淺析

coderlwz發表於2024-09-08

JVM(java virtual machine) Java 虛擬機器是 Java 程式設計語言通向底層嵌入式硬體設計的門檻。 Java 是二十一世紀九十年代的程式設計開發語言。C 語言在美國的貝爾電話實驗室研發成功 並得到廣大使用者的推廣 C 語言簡潔高效的語法結構,吸引著那一帶年親人的喜愛。計算機 的作業系統研發也是一直在迭代開發和升級。開發作業系統和太空遊戲挑戰性較大,也是最 值得去完成的事情。

LINUX IS NOT UNIX. 芬蘭的年輕學生林納斯·拖瓦茲在大學教授的 MINIX 作業系統原始碼的基 礎之上,成功執行出 LINUX . 作業系統是應用程式。大型機器的作業系統由 IBM 主導開發, UNIX 作業系統執行在 IBM 大型機器之上, 構建出很多的大型計算機伺服器站點 。計算機 的硬體的核心部件是 CPU 記憶體, 決定著開發商的應用市場 。 商用版本是不會對廣大用 戶對外開放程式設計原始碼 。 LINUX 是在大學和計算機系的學生共同努力下的成果 。 開源 對該作業系統的開發團隊和使用者提升速度很快。

一系列的驅動硬體裝置的操作程式是由 C 語言設計程式 。作業系統執行在硬體驅動程式之 上 。SHELL 黑屏介面視窗 開放給程式設計師操作磁碟中的檔案 。資源和速度, 時代不一樣,看 到的體現方式不同現在。計算機圖形介面視窗類庫開發是比較艱難但是新穎的任務。視覺化 操作會得到很多使用者的認可。

JAV 語言程式設計是史丹佛大學 SUN 公司在九十年代釋出的物件導向程式設計語言 。 C++ 程式設計相容 C 語言, 增加物件導向的開發思想 。層與層之間設計高度會有不同,從上層 到下層的需要直譯器的存在 。層與層之間有距離和隔離帶,直譯器解釋通訊耗費時間效能。 C 語言程式設計使得程式設計變得更簡單,原始碼可讀性增強。程式設計開發大眾化,開始受到 普通使用者的接受。C 程式設計語言的基礎使用者最多最大。Java 遮蔽掉程序導向程式設計中的 指標運算子,基礎類庫得到很多使用者廠商的支援。個性化應用和不同本地化的操作擴充套件,形 成穩定的生態圈。

JAVA 虛擬機器執行在作業系統上面 。不同的作業系統執行著不同的 JAVA 虛擬機器 。JAVA 擬機是一層直譯器 。JAVA 程式開發生成的原始碼檔案透過編譯器編譯之後以位元組碼 .class 檔案儲存。JAVA 虛擬機器載入位元組碼檔案,執行在不同的作業系統上面展示的可見效果一樣。 計算機的記憶體管理產生很多操作事故。棧溢位和堆疊洩漏困擾著很多使用者,損失案例涉及到 的金額還是較大 。程式設計師在開發程式設計的過程中用腦過度,遺忘的東西會有 。 C/C++ 程 序開發中的記憶體分配回收操作, JAVA 中是由垃圾回收器 GC(GARBEGE COLLECTION)進行 自動化智慧管理 。JAVA 虛擬機器 JVM 內建 GC 垃圾回收器。

GC 垃圾回收器回收計算機應用記憶體。計算機作業系統的棧記憶體自動分配回收。堆記憶體記憶體 較大,存放引用物件。引用物件在 RAM 計算機隨機執行記憶體中分配記憶體之後不會立即回收, 會提供引用地址 。JAVA 的虛擬機器垃圾回收過程機制有標記清除,標記整理,複製演算法,分 代收集 。記憶體分配的過程隨機,記憶體回收的過程會繁瑣 。引用物件在堆記憶體的生存週期需要 記錄和標記 。新生代,老年代和永久代以及 EDEN 特殊區域代, 堆 HEAP 中物件的存活周期進行劃分。

JAVA 程式設計的應用十分廣泛 。移動安卓作業系統 ANDROID LINUX 為核心開發出來 的應用。通用性和易用性決定著市場規模和使用者量。九十年代有一種靈活性較好的前端程式 設計語言 JAVASCRIPT JAVA 後端應用服務適配 。移動網際網路時代的到來,後端服務面向 的使用者需求量越來越大。