1. 程式人生 > >JVM內存模型圖以及簡單介紹

JVM內存模型圖以及簡單介紹

ont 技術分享 加載 運行期 進行 移除 jvm內存 靜態 vivo

技術分享圖片

局部變量表:應用程序中定義的普通變量就存放在棧中,棧中變量的大小程序運行開始的時候已經固定。

棧:方法執行時創建棧針,然後進入到棧中,根據先進後出的順序進行執行。

堆:對重存放程序中創建的對象。

新生代:新生代分為三個區域。Eden,ServivorFrom,ServivorTo。新創建的對象先存放到Eden區域,當Eden區域放滿後,觸發GC。對象被轉移到Servivor,當Servivor滿了會觸發GC,再次留下來的對象進入老年代。

老年代:老年代的空間相對新生代要比較大,不會經常進行GC,主要存儲存活時間比較長的對象。

永久代:存放類加載的class文件,GC不會在主程序運行期對永久區域進行清理。在Java8中,永久代已經被移除,被一個稱為“元數據區”(元空間)的區域所取代。

方法區:存儲虛擬機加載的類信息,常量,靜態變量,即時編譯器編譯後的數據。

JVM內存模型圖以及簡單介紹