(轉)JVM記憶體管理-----堆記憶體

來源:互聯網
上載者:User

標籤:

來源:http://blog.csdn.net/yu422560654/article/details/7952613

Heap堆記憶體理解

一個JVM執行個體只有一個堆記憶體,堆記憶體的大小是可以調節的。類載入器讀取類檔案後,需要把類檔案、方法、常量放入到堆記憶體中,以便執行器執行,堆記憶體分為三部分:

1. Permanent Space 永久儲存區

永久儲存區是一個常駐記憶體地區,用於存放JDK自身所攜帶的Class,Interface的中繼資料,也就是說它儲存的是運行環境必須的類資訊,被裝載進此地區的資料是不會被記憶體回收行程回收掉的,關閉JVM才會釋放此地區所佔用的記憶體。
2.Young Generation Space 新生區
新生區是類的誕生、成長、消亡的地區,一個類在這裡產生,應用,最後被記憶體回收行程收集,結束生命。
新生區又分為兩部分:伊甸區(Eden space)和倖存者區(Survivor pace)。
所有的類都是在伊甸區被new出來的。倖存區有兩個: 0區(Survivor 0 space)和1區(Survivor 1 space)。當伊甸園的空間用完時,程式又需要建立對象,JVM的記憶體回收行程將對伊甸園區進行記憶體回收,將伊甸園區中的不再被其他對象所引用的對象進行銷毀。然後將伊甸園中的剩餘對象移動到倖存0區。若倖存0區也滿了,再對該區進行記憶體回收,然後移動到1區。那如果1區也滿了呢?再移動到養老區。
3. Tenure Generation Space 養老區
養老區用於儲存從新生區篩選出來的JAVA對象,一般池對象都在這個地區活躍。 三個區的如下:

(轉)JVM記憶體管理-----堆記憶體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.