Linux雲端計算技術學習:虛擬機器基本結構講解
我們要對JVM虛擬機器的結構有一個感性的認知。畢竟我們不是程式設計人員,認知程度達不到那麼深入。一個執行時的Java虛擬機器例項的天職是:負責執行一個java程式。當啟動一個Java程式時,一個虛擬機器例項也就誕生了。當該程式關閉退出,這個虛擬機器例項也就隨之消亡。如果同一臺計算機上同時執行三個Java程式,將得到三個Java虛擬機器例項。每個Java程式都執行於它自己的Java虛擬機器例項中。
1、類載入子系統
負責從檔案系統或者網路中載入Class資訊,載入的類資訊存放於一塊稱為方法區的記憶體空間。除了類資訊外,方法區中可能還會存放執行時常量池資訊,包括字串字面量和數字量。
2、Java堆
在虛擬機器啟動的時候建立,它是Java程式最主要的記憶體工作區域。幾乎所有的Java物件例項都放Java堆中。堆空間是所有執行緒共享的,這是一塊與Java應用密切相關的記憶體區間。
3、Java的NIO庫(直接記憶體)
允許Java程式使用直接記憶體。直接記憶體是在Java堆外的、直接向系統申請的記憶體區間。通常訪問直接記憶體的速度會優於Java堆。因此出於效能考慮,讀寫頻繁的場合可能會考慮使用直接記憶體。由於直接記憶體在Java堆外,因此它的大小不會受限於Xmx指定的最大堆大小。但是系統記憶體是有限的,Java堆和直接記憶體的總和依然受限於作業系統能給出的最大記憶體。
4、垃圾回收系統
垃圾回收系統是Java虛擬機器的重要組成部分,垃圾回收器可以對方法區、Java堆和直接記憶體進行回收。
5、Java棧
每一個Java虛擬機器執行緒都有一個私有的Java棧。一個執行緒的Java棧線上程建立的時候被建立。Java儲存著幀資訊,Java棧中儲存著區域性變數、方法引數,同時和Java方法的呼叫、返回密切相關。
6、本地方法
與Java棧非常類似,最大的不同在於Java棧用於Java方法的呼叫,而本地方法棧用於本地方法呼叫。作為Java虛擬機器的重要擴充套件,Java虛擬機器執行Java程式直接呼叫本地方法(通常使用C編寫)。
7、PC暫存器
每個執行緒私有的空間,Java虛擬機器會為每一個Java執行緒建立PC暫存器。在任意時刻,一個Java執行緒總是在執行一個方法,這個正在被執行的方法稱為當前方法。如果當前方法不是本地方法,PC暫存器就會指向當前正在被執行的指令。如果當前方法是本地方法,那麼PC寄存的值就是undefined.
8、執行引擎
是Java虛擬機器最核心元件之一,它負責執行虛擬機器的位元組碼。現代虛擬機器為了提高執行效率。會使用即時編譯技術將方法編譯成機器碼後再執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2649548/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux雲端計算技術學習:虛擬機器堆記憶體結構Linux虛擬機記憶體
- Linux雲端計算技術學習:常用虛擬機器引數Linux虛擬機
- Linux雲端計算技術學習:跟蹤JAVA虛擬機器的垃圾回收LinuxJava虛擬機
- 雲端計算與虛擬化結合技術分析
- 雲端計算教程學習入門影片課件:虛擬化技術和容器技術詳解
- 雲端計算教程學習入門影片課件:雲端計算終端技術講解
- 雲端計算教程學習入門影片課件:伺服器虛擬化元件講解伺服器元件
- 雲端計算和虛擬機器基礎梳理虛擬機
- 雲端計算開發學習教程,雲端計算基礎架構實現講解架構
- 反虛擬機器技術總結虛擬機
- 虛擬化及雲端計算技術應用的思考
- 虛擬化有哪些分類?Linux雲端計算技術及應用Linux
- 雲端計算開發學習教程,Tomcat運維JVM 虛擬機器常識Tomcat運維JVM虛擬機
- 深入學習Java虛擬機器——類檔案結構Java虛擬機
- 雲端計算學習路線圖講解:想學雲端計算怎麼入門?
- OpenStack-雲端計算,虛擬化技術,初步認識OpenStack,瞭解OpenStack的結構部署以及OpenStack核心專案
- Linux雲端計算技術學習:怎麼檢視程式 psLinux
- Linux虛擬機器哪個好用?Linux雲端計算入門Linux虛擬機
- 虛擬化不是雲端計算
- 《Java虛擬機器原理圖解》 1.1、class檔案基本組織結構Java虛擬機圖解
- 雲端計算教程學習入門影片課件:雲端計算通訊協議講解協議
- 虛擬機器檢測技術攻防虛擬機
- 雲端計算教程學習入門影片課件:雲端計算基礎服務元件講解元件
- 學習筆記-虛擬機器筆記虛擬機
- 雲端計算學習素材、課件,msyql知識點講解
- 雲端計算管理平臺之OpenStack啟動虛擬機器例項虛擬機
- 女生學Linux雲端計算技術難嗎?Linux系統Linux
- 學Linux雲端計算技術有意義嗎?Linux入門Linux
- Java虛擬機器內部結構Java虛擬機
- 容器技術和虛擬機器技術的對比虛擬機
- Java 虛擬機器之三:Java虛擬機器的記憶體結構Java虛擬機記憶體
- 雲端計算的未來怎麼發展?怎麼學習雲端計算相關技術?
- 雲端自動化虛擬機器虛擬機
- 雲端計算技術文件
- 計算機網路實驗五:虛擬區域網技術計算機網路
- 雲端計算導論 # 4 虛擬化
- 超級雲端計算與虛擬化
- 雲端計算教程學習入門影片課件:伺服器叢集cluster講解伺服器