是jvm中的乙個後台執行緒,此執行緒完成的功能是收集堆空間中的
沒有引用的物件記憶體空間,並釋放空間
是能夠釋放無用的物件空間,程式設計師是無法掌控gc呼叫
gc針對的是堆空間
在堆空間中建立的物件是建立在新生代中
新生代分割槽:
伊甸園區:eden 所有的新建立的物件都放在此區中
倖存區:survivor 在eden區中經過乙個掃瞄,此物件還存在
就把物件從eden區移動到此區中
乙個eden區對應2個survivor 8:1:1
而最後乙個survivor區是空閒的,是系統保留區
在倖存區中多次掃瞄物件,還存在倖存區中,就把倖存區
中的物件移動到老生代中
老生代掃瞄物件是否可用的頻率遠低於倖存區的掃瞄頻率
如果在老生代中長時間存在的物件,建議程式設計師把物件放在
方法區中,以減少掃瞄的頻率,程式設計師在寫**的時候
要考慮物件的作用域空間
JVM的垃圾收集器
parnew收集器 parnew相比serial,則是較多的執行在server模式下的虛擬機器中首選的新生代收集器。而且還有乙個重要的原因,除了serial外,目前只有他能與cms收集器 jdk1.5推出,是hotspot第一款真正意義上的併發收集器 搭配工作。parnew可以使用 xx paral...
JVM之垃圾收集器
垃圾 演算法 標記 清除 先標記後統一清除 缺點 1.執行效率不穩定 表現在假設j a堆中存在大量需要被 物件,此時標記 清除操作執行效率隨著物件的數量增加而降低 2.產生大量碎片化空間,導致記憶體不連續,無法為大物件分配空間。標記 複製 將記憶體分為兩塊,每次只使用一塊,當這塊記憶體用完了,就將還...
jvm垃圾收集器介紹
以上是 虛擬機器中的 7 個垃圾收集器,連線表示垃圾收集器可以配合使用。是 serial 收集器的老年代版本,也是給 client 模式下的虛擬機器使用。如果用在 server 模式下,它有兩大用途 是 parallel sc enge 收集器的老年代版本。cms concurrent mark s...