Приложения Java обычно компилируются в байт-код (файл класса), который может работать на любой виртуальной машине Java (JVM) независимо от архитектуры компьютера.
Java делает это, заставляя компилятор Java преобразовывать код в байт-код Java вместо машинного кода. Это означает, что при выполнении программы виртуальная машина Java интерпретирует байт-код и переводит его в машинный код.