日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

说一下 JVM 的主要组成部分?及其作用?

發布時間:2024/4/13 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说一下 JVM 的主要组成部分?及其作用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • class loader 類加載器:加載類文件到內存。Class loader只管加載,只要符合文件結構就加載,至于能否運行,它不負責,那是有Exectution Engine 負責的。
  • exection engine :執行引擎也叫解釋器,負責解釋命令,交由操作系統執行。
    native interface:本地接口。本地接口的作用是融合不同的語言為java所用。
  • Runtimedata area 運行數據區:運行數據區是jvm的重點,我們所有所寫的程序都被加載到這里,之后才開始運行。
  • stack:棧也叫棧內存,是java程序的運行區,是在線程創建時創建,它的生命周期跟隨線程的生命周期,線程結束棧內存釋放;對于棧來說不存在垃圾回收的問題,只要線程一結束,該棧就結束。棧中的數據以棧幀的格式存在,棧幀是一個內存區塊,是一個數據集,是一個有關方法和運行期數據的集合,當一個方法A被調用時就產生了一個棧幀F1,并被壓入到棧中,A方法又調用了B方法,于是產生棧幀F2也被壓入棧,執行完畢后,先彈出F2棧幀,再彈出F1棧幀,遵循“先進后出”原則。
  • 堆內存:一個JVM實例只存在一個堆內存,堆內存的大小是可以調節的。類的加載器讀取了類文件之后,需要把類、方法、常變量放到堆內存中,以方便執行器執行,堆內存分三部分:永久存儲(用于存放jdk自身攜帶的class,interface的元數據,也就是說它存儲的是運行環境必須的類信息,被裝載至此區域的數據是不會被垃圾回收掉的,只有關閉jvm釋放此區域所占用的內存)區、新生區、老年代
  • method area方法區:方法去是被所有線程共享,該區域保存的所有字段和字節方法碼以及一些特殊方法如構造函數,接口代碼也在此定義。
  • PC Register 程序計數器:每個線程都有一個程序計數器,就是一個指針,指向方法區中的方法字節碼,由執行引擎讀取下一條指令

?

總結

以上是生活随笔為你收集整理的说一下 JVM 的主要组成部分?及其作用?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。