HotSpot многоуровневая компиляция использует интерпретатор, пока порог invocations (для методов) или итераций (для циклов) не запускает компиляцию клиента с помощью self -profiling. Компиляция клиента используется до тех пор, пока другой порог вызовов или итераций не вызовет компиляцию сервера.
Печать флагов HotSpot показывает следующие значения флага с -XX: + TieredCompilation.
intx CompileThreshold = 10000 {pd product}
intx Tier2CompileThreshold = 0 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier4CompileThreshold = 15000 {product}
Слишком много флагов только для компилятора клиента и сервера. Какие компиляторы контролируются этими флагами? Если не клиент и сервер, какова цель дополнительных компиляторов?
В этом случае игнорируются CompileThreshold и Tier2CompileThreshold? Что контролирует Tier3CompileThreshold при компиляции клиента? Что контролирует Tier4CompileThreshold при компиляции сервера?