HotSpot's używa interpretera, dopóki próg wywołań (dla metod) lub iteracji (dla pętli) nie uruchomi kompilacji klienta z autoprofilowaniem. Kompilacja klienta jest używana, dopóki inny próg wywołań lub iteracji nie spowoduje kompilacji serwera.Co kontroluje CompileThreshold, Tier2CompileThreshold, Tier3CompileThreshold i Tier4CompileThreshold?
Printing HotSpot's flags pokazuje następujące wartości flag z -XX: + TieredCompilation.
intx CompileThreshold = 10000 {pd product}
intx Tier2CompileThreshold = 0 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier4CompileThreshold = 15000 {product}
Jest zbyt wiele flag tylko dla kompilatora klienta i serwera. Jakie kompilatory są kontrolowane przez te flagi? Jeśli nie klient i serwer, jaki jest cel dodatkowych kompilatorów?
Czy w tym przypadku wartości CompileThreshold i Tier2CompileThreshold są ignorowane? Co kontroluje Tier3CompileThreshold po uruchomieniu kompilacji klienta? Co kontroluje Tier4CompileThreshold po uruchomieniu kompilacji serwera?