名詞釋義 全面認(rèn)識JVM技術(shù)
本文向大家描述一下JVM的概念,JVM(Java虛擬機(jī))是可運(yùn)行Java代碼的假想計(jì)算機(jī)。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計(jì)算機(jī)上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上運(yùn)行。
JVM簡介
JVM(Java虛擬機(jī))一種用于計(jì)算設(shè)備的規(guī)范,可用不同的方式(軟件或硬件)加以實(shí)現(xiàn)。編譯虛擬機(jī)的指令集與編譯微處理器的指令集非常類似。JVM包括一套字節(jié)碼指令集、一組寄存器、一個(gè)棧、一個(gè)垃圾回收堆和一個(gè)存儲方法域。JVM(Java虛擬機(jī))是可運(yùn)行Java代碼的假想計(jì)算機(jī)。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計(jì)算機(jī)上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上運(yùn)行。JVM是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過軟件模擬來實(shí)現(xiàn)。JVM有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。
JVM的特點(diǎn)
Java語言的一個(gè)非常重要的特點(diǎn)就是與平臺的無關(guān)性。而使用JVM是實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵。一般的高級語言如果要在不同的平臺上運(yùn)行,至少需要編譯成不同的目標(biāo)代碼。而引入Java語言虛擬機(jī)后,Java語言在不同平臺上運(yùn)行時(shí)不需要重新編譯。Java語言使用模式JVM屏蔽了與具體平臺相關(guān)的信息,使得Java語言編譯程序只需生成在JVM上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運(yùn)行。JVM在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺上的機(jī)器指令執(zhí)行。
JVM是Java語言底層實(shí)現(xiàn)的基礎(chǔ),對Java語言感興趣的人都應(yīng)對JVM有個(gè)大概的了解。這有助于理解Java語言的一些性質(zhì),也有助于使用Java語言。對于要在特定平臺上實(shí)現(xiàn)JVM的軟件人員,Java語言的編譯器作者以及要用硬件芯片實(shí)現(xiàn)JVM的人來說,則必須深刻理解JVM的規(guī)范。另外,如果你想擴(kuò)展Java語言,或是把其它語言編譯成Java語言的字節(jié)碼,你也需要深入地了解JVM。
【編輯推薦】
- JVM異常發(fā)生時(shí)的應(yīng)對策略
- JVM內(nèi)存限制問題解決方案
- 揭露MyEclipse JVM內(nèi)存不足的內(nèi)幕
- 專家指導(dǎo) 如何進(jìn)行JVM參數(shù)配置
- 巧解IBM JVM for Linux onPOWER性能調(diào)優(yōu)