我給在Java中的垃圾收集基本的通話,並用等不同的算法,我與GC的經驗是隻與熱點JVM的JVM。是否有不使用代垃圾收集
如果周圍有任何JVM中不使用代收集的概念(即年輕的,年老)我只是想知道?以防萬一有人問我這個問題!
謝謝。
我給在Java中的垃圾收集基本的通話,並用等不同的算法,我與GC的經驗是隻與熱點JVM的JVM。是否有不使用代垃圾收集
如果周圍有任何JVM中不使用代收集的概念(即年輕的,年老)我只是想知道?以防萬一有人問我這個問題!
謝謝。
有一個大量的JVM實現(參見this page有一個想法)。所以是的,有些可能不是基於Weak Generational Hypothesis。例如,像JamaicaVM這樣的JVM(用於嵌入式系統的硬實時Java VM)可以做出其他假設,因爲它們不是針對與Oracle JVM相同的應用程序。
但是,最常用的實現(Oracle JVM,IBM J9和Azul Zing)是基於它的。
注意,與G1 GC,甲骨文JVM添加了一個新類型的集合:世代和地區收藏
希望幫助!
Java 1.0和1.1使用mark-sweep收集器。
參考:http://en.wikipedia.org/wiki/Java_performance#Garbage_collection
我也明白,現代JVM將回退到在極端情況下一個標記 - 清除小型收集器;例如當您配置CMS並且無法跟上時。
默認情況下,IBM JVM使用mark-sweep-compact的變體(-Xgcpolicy:吞吐量和-Xgcpolicy:optavgpause),直到Java 7.請參閱:description of policies。
ParallelOld(默認,仍然是最高效的舊gen收集器)是一個壓縮標記和掃描收集器。大多數應用程序不應使用CMS - 只有那些真正需要非常低的暫停時間並且沒有吞吐量限制的應用程序(即不適用於大多數Web應用程序)。 – kittylyst