JVM startuje od interpretacji bytecode, a potem JIT kompiluje „gorące” metody do kodu natywnego na podstawie profilowania. Na początku bywa wolniej; po rozgrzaniu działa szybciej dzięki zoptymalizowanemu kodowi maszynowemu.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (szablon do wyjaśniania):
// Example: discuss trade-offs for "kompilacja-jit:-co-to-jest-i-czemu-aplikacje-jav"
function explain() {
// Start from the core idea:
// JVM startuje od interpretacji bytecode, a potem JIT kompiluje „gorące” metody do kodu naty
}