hotspot 垃圾收集器_HotSpot增量Java垃圾收集器
hotspot 垃圾收集器
在我最近的博客文章“ 確定活動的HotSpot垃圾收集器”中 ,我描述了可用于確定HotSpot JVM (Java進程)正在使用的垃圾收集器(當從命令行參數(標志)中變得不明顯時)的不同方法。傳遞給Java啟動器 。 對于重要的Java應用程序,我傾向于使用Java啟動器顯式指定適當的垃圾收集器標志,以免對使用哪個收集器產生任何疑問: -XX:+UseParallelGC ( 或 -XX:+UseParallelOldGC )用于并行/吞吐量收集器 , -XX:+UseConcMarkSweepGC用于并行標記掃描 (CMS)收集器, -XX:+UseG1GC用于垃圾優先垃圾收集器 , -XX:+UseSerialGC用于串行垃圾收集器 。
如果未明確指定所有垃圾收集器JVM標志,則虛擬機將選擇垃圾收集器,并且可以使用JDK命令行工具jcmd或其相關的JMX MBean實現DiagnosticCommandMBean (通常通過JConsole)來標識VM選擇了哪個垃圾收集器。 或VisualVM )。 在某些情況下,由于不存在我之前的列表中存在的特定HotSpot JVM標志,所以指定了特定的垃圾收集器。 在本文中,我將簡要介紹以下內容之一: -Xincgc 。
Oracle為Java啟動器java提供的JDK工具和實用程序文檔簡要描述了-Xincgc 。 Java SE 6的java可執行文件和Java SE 7的java可執行文件的-Xincgc描述了-Xincgc :“啟用增量垃圾收集器。 增量垃圾收集器(默認情況下處于關閉狀態)將減少程序執行期間偶爾出現的長時間垃圾收集暫停。 增量垃圾收集器有時會與程序并發執行,在此期間將減少程序可用的處理器容量。”
-Xincgc的java文檔狀態的Java SE 8版本:“啟用增量垃圾收集。 JDK 8中不推薦使用此選項,而無需替換。” 從Java 8開始不推薦使用增量收集器,這在《 JDK 8兼容性指南 》的“ 不推薦使用的API ”部分中得到了確認:“ -Xincgc選項不推薦使用。” 有關為什么在JDK 8中不贊成使用此垃圾收集組合和其他垃圾收集組合的更多詳細信息,請參見JEP 173 (“淘汰一些很少使用的GC組合”)和JEP 214 (“刪除JDK 8中不推薦使用的GC組合”)。
看來-Xincgc在JDK 8之后將不可用。對于支持-Xincgc的JVM版本,一個問題可能是運行增量式垃圾收集器對于垃圾收集器而言意味著什么。 先前參考的《 JDK 8兼容性指南 》指出,“增量CMS”是現已棄用的“垃圾收集器組合”之一。 還已經指出 ,Java 6中的“ -Xincgc簡單地轉換”為“ -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode 。 接下來的兩個屏幕快照展示了Java 8中小型,簡單的Java應用程序的情況。 第一個快照描述了在指定和不指定-Xincgc情況下相同可執行JAR( -jar )的運行。 第二個快照描述了為同一應用程序選擇的不同VM選擇的命令行標志,這些標志是指定或不指定-Xincgc的結果。
這些屏幕快照表明, 未指定-Xincgc時,用于此簡單可執行JAR應用程序的Java 8 VM選擇并行/吞吐量收集器( -XX:+UseParallelGC ),并選擇帶有附加標志的CMS收集器( -XX:+UseConcMarkSweepGC ) -XX:+CMSIncrementalMode時-Xincgc明確規定。 還值得指出的是,當使用-Xincgc運行Java 8 HotSpot Java啟動器時,會顯示一條棄用警告消息(我已強調 ):“ Java HotSpot(TM)64位服務器VM警告:使用增量CMS是不推薦使用,可能會在將來的版本中刪除。”
我認為值得在與垃圾回收相關的不贊成使用的JVM標志上發布,因為可以從此討論中進行一些高級觀察:
- 除了直接指定特定垃圾收集器的HotSpot VM標志外,其他標志也可以暗示垃圾收集器。
- jcmd工具不僅在不提供JVM標志的情況下,而且對于使用暗示特定收集器的標志(例如-Xincgc表示CMS收集器)的情況,都有助于識別使用哪個垃圾收集器。 。
- 增量CMS收集器即將消失。 任何考慮升級到Java 9的人都可能會發現,應謹慎檢查其應用程序使用的VM標志,以識別當前正在使用增量CMS收集器( -Xincgc )的情況。 如果在Java 8上運行,則應該已經有棄用警告,如本文所展示。
- 這提醒我們,盡管Java和JVM在很大程度上仍是向后兼容的語言和平臺,但某些功能和功能有時會被刪除(通常很少使用或存在嚴重缺陷的功能)。
翻譯自: https://www.javacodegeeks.com/2016/05/hotspot-incremental-java-garbage-collector.html
hotspot 垃圾收集器
總結
以上是生活随笔為你收集整理的hotspot 垃圾收集器_HotSpot增量Java垃圾收集器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: anti-ddos流量清洗(ddos防攻
- 下一篇: 图纸建委备案要多久(图纸建委备案)