1.Java虛擬機實戰(zhàn)

認識Java虛擬機的基本結(jié)構(gòu)

Java虛擬機的架構(gòu)

Java虛擬機基本結(jié)構(gòu).png
  • 類加載子系統(tǒng):加載Class信息,存放于稱為方法區(qū)的內(nèi)存空間
  • 方法區(qū):存放類信息,存放運行時常量池信息,包括字符串字面量和數(shù)字常量
  • Java堆:虛擬機啟動時建立,存放Java對象實例
  • 直接內(nèi)存:Java堆外的,直接向系統(tǒng)申請的內(nèi)存區(qū)間,速度會優(yōu)于Java堆,大小不會直接受限于Xmx指定的最大堆大小,但系統(tǒng)內(nèi)存是有限的,Java堆和直接內(nèi)存的總和依然受限于操作系統(tǒng)能給定的最大內(nèi)存
  • 垃圾回收系統(tǒng):可以對方法區(qū),Java堆和直接內(nèi)存進行回收
  • Java棧:每一個Java虛擬機線程都有一個私有的Java棧,一個線程的Java棧在線程創(chuàng)建的時候被創(chuàng)建,Java棧中保存著幀信息,局部變量,方法參數(shù),同時和Java方法的調(diào)用、返回密切相關(guān)
  • 本地方法棧:用于本地方法的調(diào)用(通常使用C編寫)
  • PC寄存器:每個線程私有的空間,Java虛擬機會為每一個Java線程創(chuàng)建PC寄存器。在任意時刻,一個Java線程總是在執(zhí)行一個方法,這個正在被執(zhí)行的方法稱為當前方法。如果當前方法不是本地方法,PC寄存器就會指向當前正在被執(zhí)行的指令,如果當前方法是本地方法,那么PC寄存器的值就是undefined
  • 執(zhí)行引擎:Java虛擬機核心組件之一,負責執(zhí)行虛擬機的字節(jié)碼
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 《深入理解Java虛擬機》筆記_第一遍 先取看完這本書(JVM)后必須掌握的部分。 第一部分 走近 Java 從傳...
    xiaogmail閱讀 5,472評論 1 34
  • 從三月份找實習到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,796評論 11 349
  • JVM內(nèi)存模型Java虛擬機(Java Virtual Machine=JVM)的內(nèi)存空間分為五個部分,分別是: ...
    光劍書架上的書閱讀 2,775評論 2 26
  • Java 虛擬機屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得 Java 語言編譯程序只需生成在 Java 虛擬機上運行...
    尋夢的尕柳閱讀 924評論 0 11
  • 二天一夜的助教之旅,很快就結(jié)束了。 帶少年班的孩子真的很滋養(yǎng)心靈,孩子們很可愛,現(xiàn)在回想起一幕幕,他們那一雙雙清澈...
    夢瑤閱讀 301評論 0 0

友情鏈接更多精彩內(nèi)容