JIT-компиляция
Сначала JVM интерпретирует байт-код — выполняет команду за командой (небыстро). Но она считает, сколько раз вызывается каждый метод. «Горячий» (часто вызываемый) код JVM компилирует JIT-ом прямо в машинный код — и дальше он работает на полной скорости. Поэтому Java-программа «разгоняется» после старта.
JIT-компилятор также оптимизирует горячий код агрессивнее обычного компилятора (javac) — он видит реальные данные выполнения (какие ветки чаще берутся, какие типы реально приходят) и подстраивается под них.
🎤 Закрыл тему, если можешь объяснить:
• что такое JIT-компиляция и почему программа «разгоняется» после старта.