Введение в Java ·
‹ Предыдущий Следующий ›
⏱ 5 минут чтения Обновлено: 2026-06-26

JVM, JRE и JDK: в чём разница

В начале изучения Java вы быстро столкнётесь с тремя похожими аббревиатурами: JVM, JRE и JDK. Они звучат похоже, но означают разное. Проще всего запомнить их как вложенные слои: JDK содержит JRE, а JRE содержит JVM.

Схема вложенности JDK, JRE и JVM JDK содержит JRE, который содержит JVM JDK Java Development Kit · компилятор, инструменты JRE Java Runtime Environment · библиотеки JVM Java Virtual Machine · выполняет байт-код
JDK содержит JRE, а JRE — JVM

Компоненты Java: JVM, JRE и JDK

Что такое JVM (виртуальная машина Java)?

JVM — это компонент, который выполняет Java-программы. Она исполняет байт-код — файлы .class, которые компилятор создаёт из исходного кода. У каждой платформы (Windows, Linux, macOS) своя JVM, поэтому один и тот же байт-код работает везде без изменений — именно это делает Java платформонезависимой. JVM также управляет памятью через сборщик мусора и использует JIT-компиляцию, преобразуя «горячие» участки кода в нативный машинный код во время выполнения.

Что такое JRE (среда выполнения Java)?

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

Обратите внимание: начиная с Java 11, Oracle больше не поставляет отдельный JRE. JDK распространяется самостоятельно, а минимальную среду выполнения при необходимости собирают из JDK с помощью инструмента jlink.

Что такое JDK (комплект разработчика Java)?

JDK — это полный набор инструментов для разработки Java-приложений. Он включает всё, что есть в JRE (то есть JVM и библиотеки), плюс компилятор (javac), запускатор (java), инструмент документации (javadoc), архиватор (jar), отладчик и другие утилиты. Если вы пишете код на Java — устанавливать нужно именно его.

Как связаны JVM, JRE и JDK

Эти три компонента образуют вложенные слои: JDK — внешний (разработка), внутри него JRE (выполнение), в центре — JVM (исполнение). Коротко: вы пишете код, javac из JDK компилирует его в байт-код, а JVM этот байт-код выполняет.

Компонент Что входит Назначение Когда нужен
JVM Движок выполнения Исполняет байт-код; память, JIT Всегда (выполняет любую Java-программу)
JRE JVM + стандартные библиотеки Запуск Java-приложений Чтобы запускать, но не разрабатывать
JDK JRE + компилятор и инструменты Разработка Java-приложений Чтобы писать и компилировать код

Часто задаваемые вопросы

Чем отличается JDK от JRE?

JRE позволяет только запускать Java-программы (это JVM плюс библиотеки). JDK позволяет их разрабатывать — он включает всё, что есть в JRE, плюс компилятор и инструменты разработчика.

Что мне нужно — JRE или JDK?

Если вы изучаете или пишете Java, устанавливайте JDK. JRE отдельно хватает только для запуска готовых приложений, а с Java 11 он и не поставляется отдельно.

Входит ли JVM в JDK?

Да. JDK содержит JRE, а JRE содержит JVM. Установив JDK, вы получаете все три.

Можно ли запустить Java без JDK?

Для запуска программы нужна только среда выполнения (исторически — JRE). Но чтобы скомпилировать файлы .java в байт-код, нужен компилятор javac, который входит в JDK.

Видео объяснение

Предпочитаете видеоформат? Посмотрите этот урок с примерами и объяснениями.

Комментарии

unknown Dec 5, 2022
Not bad

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.