JVM运行时数据区概览
生活随笔
收集整理的這篇文章主要介紹了
JVM运行时数据区概览
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習JVM之前我們需要明確的是,我們所學習的是JVM的一個規范,在實際中有很多不同種類的虛擬機來實現這一種規范。其次JVM運行時數據區和JMM的區別我們要搞清楚,不能將JMM理解為JVM運行是數據區。本篇只意在使讀者對JVM運行時數據區有一個整體的了解,并沒有深入細節的探討,這樣在閱讀其他資料的時候心中有一個整體的印象。
JVM分為三大部分:類加載子系統、運行時數據區、執行引擎。其中我們要講的JVM運行時數據區又包括以下的內容,其中紅色代表的是共享數據區,而綠色代表的是線程私有的數據區。我們在進行JVM的調優的時候就是控制紅色部分的共享數據區,線程私有部分是我們無法控制的它是由JVM自動維護的。
現在我們來深入了解一下線程私有的部分,如下圖所示:
在棧中我們可以看到當前棧幀,這實際上是只要調用一個方法就會形成一個棧幀,所以可以理解的是棧中存放的當前執行方法的私有數據。當方法返回的時候這一棧幀就會彈出。如果結合上面兩幅圖的話,看起來更像是這樣:
總結
以上是生活随笔為你收集整理的JVM运行时数据区概览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组树/fenwicktree/Bina
- 下一篇: 从源码理解ReentrantLock