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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JVM运行数据区

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM运行数据区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?


1、java虛擬機在運行的時候會把內存分為以下幾個區域,如圖:

?運行時數據區,學習java虛擬機必須要弄清楚這里所有的區概況及作用.

1) 程序計數器:線程私有,一塊較小的內存,行號指示器,字節碼解釋器工作時就是通過改變這個計數器的值,來選下一條字節碼指令,比如分支,循環,跳轉,異常 處理,線程恢復等基礎功能靠這個計數器來完成。ps:由于java的多線程是線程輪流切換的,一個處理器(多處理器叫一個內核)同一時刻只會執行一條線 程,所以必須保證這個程序計算器是線程私有的 。此內存區域是唯一一個沒有規定任何內存溢出的地方。

2)java虛擬機棧,這也是程序員所關心的兩塊內存中的一塊,棧內存。

?? 特點: 1、線程私有 2、生命周期與線程相同 3、描述的java方法執行的內存模型。

?


? 描述 :一個線程執行會有至少一個方法,沒當線程進入一個方法,會在虛擬機棧創建一個棧幀,用于存儲局部變量表(基本7種數據類型,對象引用)、操作幀,方法出 口等信息。每一個方法被調用即入棧,完成即出棧。當然我們通常說的棧 ,就是局部變量表。虛擬機棧會出現兩種異常,當虛擬機請求棧的深度大于所允許的深度,會拋出StackOverFlowerError,虛擬機棧擴展到無 法擁有足夠的內存,會拋出OutOfMemoryError。

3)本地方法棧。和虛擬機棧作用一樣,執行的都是native方法,即本地方法,隨線程而生,隨線程而死。

4)堆。我們最關注的一塊,先說下他們的幾個特點。

?? 特點:1、內存最大的一塊;2、被所有線程共享;3、虛擬機啟動的時候創建;4、目的:存放對象的實例。

?5)方法區:被所有線程共享,存儲內容:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1、虛擬機加載的類信息;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 2、常量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 3、靜態變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 4、即時編譯器編譯后的代碼

?此區域包括了運行時常量池。方法區內存回收較少,一般是兩種,常量池回收,類型卸載。

6)直接內存,非java虛擬機的一部分,也會頻繁使用、?

?

轉載于:https://www.cnblogs.com/zgghb/p/4213798.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的JVM运行数据区的全部內容,希望文章能夠幫你解決所遇到的問題。

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