每日一題:談Java垃圾回收機制

解析:

Java爲什麼會有垃圾回收機制?這裏的垃圾指的是內存中沒有人再去使用的垃圾,涉及到JVM內存管理的知識,可參考《Java程序性能優化  讓你的Java程序更快、更穩定》第5章JVM調優。

我解決這個問題的步驟如下:

1  理解JVM內存管理模型。

2 在這個問題上逐步提出更加細緻的問題,並一一回答。

2.1 JVM 內存空間是如何劃分的?

2.1.1 JVM內存空間是如何劃分的?

2.1.2 這些不同的內存空間各有什麼特性?

2.2  哪些內存需要垃圾回收?

1.1.1 程序計數器,Java虛擬機棧,本地方法棧,Java堆,方法區都需要垃圾回收嗎?

  2.3 什麼時候回收。

2.3.1 有哪些情況會觸發垃圾回收?

2.3.2 什麼情況下會觸發Full GC

2.4  如何回收。

2.4.1  程序計數器,Java虛擬機棧,本地方法棧,Java堆,方法區分別是如何回收的?

2.4.2  垃圾回收算法有哪些?各有什麼特點/優缺點?

2.4.3  垃圾回收器有哪些?原理是什麼?

2.4.4 不同的內存空間如何選擇垃圾回收器?

3 拓展的問題

3.1 內存溢出有哪些情況?

3.2 JVM調優相關:給你XXX配置的服務器,如何設置JVM參數,以達到最優配置


網上已經存在很多這些問題的解答:

(1)深入理解JVM--JVM垃圾回收機制

(2) http://www.cnblogs.com/dingyingsi/p/3760447.html



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章