Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы иоборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.
Наплести что-нибудь про тестирование кроссплатформенного ПО на виртуальных машинах.
Виртуальная машина (ВМ, от англ. virtual machine) —
· программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host — хост-платформа, платформа-хозяин)
· или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (см.: песочница);
· также спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).
Помимо процессора, ВМ может эмулировать работу целого реального компьютера. В последнем случае в ВМ, как и на реальный компьютер, можно устанавливатьоперационные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот).