軟引用弱引用
虛引用老年代
主動中斷
-xx:maxgcpausemillis 設定最大停頓時間(毫秒)
-xx:gctimeratio 設定吞吐量大小(0-100)
-xx:useadaptivesizepolicy
配合最大停頓時間,或吞吐量來使用.僅需要設定-xmx
2.併發標記
3.重新標記
4.併發清除
缺點併發處理,則垃圾**時需要預留記憶體供使用者執行緒使用,jdk1.5預設68%即會觸發gc,jdk1.6預設值為92%,
-xx:cmsinitiatingoccupancyfraction
來設定閥值
標記-清除演算法
可**的停頓
在g1收集器中,有乙個關鍵的概念,remembered set,每乙個region都乙個對應的remembered set,每當程式對reference型別資料進行了寫操作時,虛擬機會產生乙個write barrier暫時中斷寫操作,檢查reference引用的物件是否處於不同的region中,如果是,則會通過cardtable將相關引用資訊記錄到被引用物件所屬的region中的remembered set中.
當進行記憶體**時,gc跟節點列舉範圍中加入remembered set 以保證不全堆掃瞄也不會遺漏
運作流程
併發標記
最終標記
篩選**
JVM垃圾收集器之CMS收集器
cms concurrent mark sweep 收集器是一種以獲取最短 停頓時間為目標的收集器。1 cms使用的演算法 cms使用的演算法為 標記 清除 演算法 2 執行過程4步驟 a 初始標記 cms initial mark b 併發標記 cms concurrent mark c 重新標記...
JVM的垃圾收集器
parnew收集器 parnew相比serial,則是較多的執行在server模式下的虛擬機器中首選的新生代收集器。而且還有乙個重要的原因,除了serial外,目前只有他能與cms收集器 jdk1.5推出,是hotspot第一款真正意義上的併發收集器 搭配工作。parnew可以使用 xx paral...
JVM之垃圾收集器
垃圾 演算法 標記 清除 先標記後統一清除 缺點 1.執行效率不穩定 表現在假設j a堆中存在大量需要被 物件,此時標記 清除操作執行效率隨著物件的數量增加而降低 2.產生大量碎片化空間,導致記憶體不連續,無法為大物件分配空間。標記 複製 將記憶體分為兩塊,每次只使用一塊,當這塊記憶體用完了,就將還...