Оглавление:
Определение - Что означает виртуальная машина Java (JVM)?
Виртуальная машина Java (JVM) - это уровень абстракции между приложением Java и базовой платформой. Как видно из названия, JVM действует как «виртуальная» машина или процессор. К байт-кодам, составляющим программу, они взаимодействуют с физической машиной; однако они фактически взаимодействуют с JVM.
Techopedia объясняет виртуальную машину Java (JVM)
JVM позволяет выполнять переносимость Java внутри приложений, не зависящих от платформы и оборудования. Это большая часть философии «пиши один раз, беги куда угодно (WORA)». JVM на самом деле является частью Java Runtime Environment (JRE). Это JRE (JVM плюс базовые классы), который позволяет байт-коду Java работать на любой платформе. Байт-коды, которые интерпретируются JVM, просто вызывают классы, найденные в JRE, когда им нужно выполнить действия, которые они не могут выполнить самостоятельно. Некоторые действия, например, направленные на основное оборудование или операционную систему, выполняются JVM. Байт-коды сами по себе не обладают функциональностью и нуждаются в JVM, чтобы выполнять для них много задач. Это предполагаемое ограничение на самом деле является преимуществом. Во-первых, это позволяет программам на Java быть очень маленькими по сравнению с другими исполняемыми программами. Во-вторых, и что более важно, это позволяет им быть очень портативными. Поскольку каждая JVM специально разработана для конкретной платформы, Java-программа не может работать на ней, если: (1) для нее не создана соответствующая JVM; (2) Эта JVM была установлена на нем. Поэтому переносимость Java-программ полностью зависит от наличия конкретной JVM. Связь между приложением и каждой базовой платформой может быть очень сложной, но JVM хорошо справляется с этим, обеспечивая уровень абстракции между ними. Таким образом, разработчикам не нужно знать о тонкостях, связанных с каждой парой приложение-платформа.