當(dāng)前位置:
首頁(yè) >
Java垃圾回收之新生代垃圾收集器
發(fā)布時(shí)間:2023/11/28
27
豆豆
默认站点
收集整理的這篇文章主要介紹了
Java垃圾回收之新生代垃圾收集器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
分代收集算法
Stop-the-World(停止一切)
- JVM由于要執(zhí)行GC而停止了應(yīng)用程序的執(zhí)行
- 任何一種GC算法中都會(huì)發(fā)生
- 多數(shù)GC優(yōu)化通過(guò)減少Stop-the-world發(fā)生時(shí)間來(lái)提高程序性能
Safepoint (安全點(diǎn))
- 分析過(guò)程中對(duì)象引用關(guān)系不會(huì)發(fā)生變化的點(diǎn)
- 產(chǎn)生Safepoint的地方: 方法調(diào)用; 循環(huán)跳轉(zhuǎn); 異常跳轉(zhuǎn)等
- 安全點(diǎn)數(shù)量得適中(太少會(huì)讓gc等待太長(zhǎng)時(shí)間,太多會(huì)增加程序運(yùn)行負(fù)荷)
常見(jiàn)垃圾收集器
JVM的運(yùn)行模式
- Server:啟動(dòng)較慢,?
- Client: 啟動(dòng)較快
啟動(dòng)進(jìn)入穩(wěn)定期長(zhǎng)期運(yùn)行之后,Server的運(yùn)行速度比Client快。因?yàn)镾erver采用重量級(jí)的虛擬機(jī),對(duì)程序采用了更多的優(yōu)化。而Client采用輕量級(jí)的虛擬機(jī)
如何查看虛擬機(jī)是Server還是Client
使用:java -version
?
常見(jiàn)的垃圾收集器和垃圾收集器之間的關(guān)系
?
年輕代常見(jiàn)的垃圾收集器
Serial收集器(-XX:+UseSerialGC,復(fù)制算法)
- 單線程收集,進(jìn)行垃圾收集時(shí),必須暫停所有工作線程
- 簡(jiǎn)單高效,Client模式默認(rèn)的年輕代收集器
?
?
ParNew收集器(-XX:+UseParNewGC, 復(fù)制算法)
- 多線程收集,其余的行為、特點(diǎn)和Serial收集器一樣
- 單核執(zhí)行效率不如Serial, 在多核下執(zhí)行才有優(yōu)勢(shì)
?
Parallel Scavenge收集器(-XX:+UseParallelGC, 復(fù)制算法)
- 比起關(guān)注用戶線程停頓時(shí)間,更關(guān)注系統(tǒng)的吞吐量
? ? ? ?吞吐量=運(yùn)行用戶代碼時(shí)間/(運(yùn)行用戶代碼時(shí)間+垃圾收集時(shí)間)?
- 在多核下執(zhí)行才有優(yōu)勢(shì),Server模式下默認(rèn)的年輕代收集器
設(shè)置:-XX:+UseAdapiveSizePolicy 會(huì)把內(nèi)存的調(diào)優(yōu)任務(wù)交由虛擬機(jī)去完成
?
總結(jié)
以上是默认站点為你收集整理的Java垃圾回收之新生代垃圾收集器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2022-2028年中国数码摄像机市场投
- 下一篇: Java垃圾回收之老年代垃圾收集器