Разница между JDK, JRE и JVM

  Андрей  | 

  |

  Обновл. 6 Май 2023  | 

 2266

На этом уроке мы базово рассмотрим понятия JDK, JRE и JVM, а также их взаимосвязь и ключевые отличия.

JVM

JVM (сокр. от англ. «Java Virtual Machine») — это виртуальная/абстрактная машина, которая позволяет компьютеру запускать и выполнять Java-программы.

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

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

Существует множество реализаций JVM (а также JRE и JDK) для разных аппаратных и программных платформ, поскольку конфигурации у разных ОС — разные.

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

Этапы выполнения Java-программы

JRE


JRE (сокр. от англ. «Java Runtime Environment») — среда выполнения Java; набор программного обеспечения, необходимый для исполнения Java-приложений, который обязательно включает в себя реализацию JVM и библиотеки Java-классов (Стандартную библиотеку Java), а также может содержать другие компоненты.

JRE — это надмножество над JVM.

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

JDK

JDK (сокр. от англ. «Java Development Kit») — это набор программных инструментов, необходимых для разработки Java-приложений. При скачивании JDK, автоматически загружается и JRE (а значит, и JVM). В JDK, помимо JRE, также содержится ряд инструментов разработки — компиляторы, отладчики, JavaDoc и т.д.

JDK — это надмножество над JRE.

Диаграмма взаимосвязи между JVM, JRE и JDKКлючевые моменты


   JVM, JRE и JDK являются платформенно-зависимыми, поскольку конфигурации разных ОС — разные.

   Язык Java является платформенно-независимым, так как Java-приложение, скомпилированное однажды, может выполняться на любом устройстве, на котором установлено JRE с соответствующими зависимостями.

   JDK является надмножеством над JRE, а JRE — надмножеством над JVM.

   Реализации JVM обеспечивают выполнение (интерпретацию) байт-кода Java.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (7 оценок, среднее: 4,86 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *