0
關於GarbageCollectorMXBean.html#getCollectionTime()
的文檔很少。GarbageCollectorMXBean#getCollectionTime()指示時間JVM是否被*暫停*用於GC?
它說:
返回以毫秒爲單位的近似累積收集經過的時間。如果此收集器的集合已過時間未定義,則此方法返回-1。
Java虛擬機實現可能使用高分辨率計時器來測量已用時間。如果集合流逝時間非常短,即使集合計數已遞增,此方法也可能會返回相同的值。
我想知道的是,這個「累積收集時間」是JVM在for期間暫停的時間(這是一個容易理解的概念),還是它意味着某種模糊的東西。
你能指出一個參考(代碼,文檔,JVM上的工作人員)嗎?你怎麼會知道這事? – 0xbe5077ed
停止世界收集是最近GC算法試圖避免的事情。您可以通過運行使用並行gc算法並生成適量垃圾的簡單程序來輕鬆測試它。即使JVM從未停止,您仍然可以看到收集發生。 – Kayaman
但是我如何知道JVM是否暫停或不能在短時間內暫停?我的無知道歉,但我的理解是,即使並行GC算法並行工作(如掃描垃圾),但他們實際上暫停掃描。有改變嗎? – 0xbe5077ed