Хотя «компилятор Java часто называют компилятором JVM (для виртуальной машины Java)» может вводить в заблуждение, он по-прежнему имеет место, поскольку javac по существу преобразует исходный код Java в байт-код для запуска JVM, который затем интерпретирует его в машиночитаемую инструкциюв зависимости от платформы
Поскольку javac является компилятором для JVM, он не является его частью.
Но, как утверждает Ghostcat, упоминание javac в качестве компилятора JVM вводит в заблуждение, поскольку у JVM есть свой собственный Just-Временная компиляция реализации
Надеюсь, что это добавляет к предыдущим ответам