Najpierw przyjrzyjmy się następującym terminom
Javacis Java Compiler - Kompiluje kod Java do kodu bajtowego
JVMto wirtualna maszyna Java - uruchamia / interpretuje / tłumaczy kod bajtowy na natywny kod maszynowy
JITis Just In Time Compiler - kompiluje podaną sekwencję instrukcji kodu bajtowego do kodu maszynowego w czasie wykonywania przed wykonaniem jej natywnie. Jego głównym celem jest wykonywanie poważnych optymalizacji wydajności.
Więc teraz znajdźmy odpowiedzi na twoje pytania ...
1) JVM: is it a compiler or an interpreter? - Ans: Tłumacz
2) what about JIT compiler that exist inside the JVM? - Odp: Jeśli przeczytałeś tę odpowiedź w całości, prawdopodobnie już ją znasz
3) what exactly is the JVM? - Ans:
- JVM to wirtualna platforma, która znajduje się w pamięci RAM
- Jego składnik, program ładujący klasy, ładuje
.classplik do pamięci RAM
- Kod Bajt kontrolny elementem kontroli JVM czy są jakieś łamanie ograniczenia dostępu w kodzie. (Jest to jeden z głównych powodów, dla których Java jest bezpieczna)
- Następnie komponent Execution Engine konwertuje kod bajtowy na wykonywalny kod maszynowy
Mam nadzieję, że ci to pomogło ...