Как Java-код превращается в байткод и работает в JVM
Java не исполняет исходный файл напрямую. Компилятор превращает код в переносимый байткод, а виртуальная машина загружает классы, проверяет их и выполняет на конкретной системе. Короткий ответСхема короткая: .java проходит через javac и становится .class; JVM загружает класс, проверяет байткод и исполняет его. Часто выполняемые участки JIT-компилятор переводит в машинный код. Поэтому один и тот же байткод можно запускать там, где есть совместимая JVM. Файл .java хранит классы, методы и выражения в читаемом виде...