Виртуальная машина Java действует как дополнительный уровень абстракции между платформой Java и базовым аппаратным обеспечением машины. Исходный код Java может работать только на тех машинах, на которых установлена виртуальная машина Java (Java Virtual Machine, JVM). Ответ на вопрос, зачем нужна виртуальная машина Java, лежит в истории программирования.