1. GC Roots,可達性分析
從GC roots的對象作爲起始點,從GC Roots對象開始向下搜索,如果一個對象到GCRoots沒有任何引用鏈相連,則說明對象不可用。即給定一個集合的引用作爲根出發,通過引用關係遍歷對象圖,能被遍歷的(可到達的)對象被判斷爲存活,沒有被遍歷的就自然被判斷爲死亡(可以被回收)。
一定是從GC Roots作爲起始點的引用鏈纔會判斷爲存活。
那麼哪些可以作爲GC Roots對象呢?
2、JVM參數
1. XX參數的:Boolean型
jps -l查看進行
jinfo -flag + 參數類型+進程號
結果中:+表示開啓,-表示關閉
設值參數開啓:
結果:
2. k,v設值類型
沒修過前:
修改後:
MaxTenuringThreshold = 15 這個參數是年輕代升到養老區活過的次數,更改方法類似上面
也可以用-flags同時設值多個值
題外話:-Xms和-Xmx屬於XX參數
3.如何查看JVM初始化的參數
java -XX:+PrintFlagsInitial(初始的)
java -XX:+PrintFlagsFinal(修改後的)
那麼下面=和:=有什麼區別呢?
=號是沒有被修改過的默認的,:=是被人爲修改或者jvm修改過的