Баннер мобильный (3) Пройти тест

JDK, JRE и JVM: в чем разница и как они связаны между собой

Простое руководство по основным компонентам Java

Разбор

6 августа 2026

Поделиться

Скопировано
JDK, JRE и JVM: в чем разница и как они связаны между собой

Содержание

    Отличительная особенность Java — возможность запускать один код на устройствах с разной ОС. За это отвечают особые компоненты экосистемы: JDK, JRE и JVM. Как они работают и чем отличаются — рассказываем в статье.

    Как работает Java-программа

    Большинство языков программирования сразу компилируются в машинный код. Java не преобразует исходный код напрямую в команды процессора. Сначала компилятор формирует универсальный байткод.

    Весь процесс выглядит так:

    Java-код (.java) Компиляция Байткод (.class) JVM Работа программы

    За каждый этап отвечает отдельный компонент:

    • JVM — получает байткод и выполняет его на устройстве.
    • JRE — обеспечивает среду для запуска Java-приложений.
    • JDK — предоставляет инструменты для разработки с нуля.

    Рассмотрим подробнее, какую роль играют JDK, JRE и JVM. 

    Принцип работы Java
    Как работает Java. Источник

    Что такое JVM 

    Java Virtual Machine — это виртуальная машина Java, которая выступает в роли переводчика. Она превращает байткод в понятные инструкции для процессора и ОС.

    Таким образом JVM скрывает различия между платформами. Разработчик может написать программу один раз, скомпилировать ее в байткод, а затем запускать на любой операционной системе при наличии подходящей JVM. Это главный принцип Java: «Написал один раз — запускай где угодно».

    У JVM есть несколько основных задач:

    • Загрузка байткода. JVM получает скомпилированный файл .class и подготавливает его к выполнению.
    • Проверка безопасности. Виртуальная машина проверяет код перед запуском, чтобы предотвратить потенциально опасные действия.
    • Управление памятью. JVM самостоятельно распределяет память для создаваемых объектов.
    • Сборка мусора. За это отвечает Garbage Collector — он находит и удаляет неиспользуемые объекты.
    • Выполнение программы. JVM преобразует байткод в машинные инструкции, понятные операционной системе и процессору.

    Без JVM программа на Java не сможет выполняться. Но одной JVM будет недостаточно для полноценной работы. Для выполнения байткода также нужны стандартные библиотеки и вспомогательные компоненты — их предоставляет JRE.

    Как работает JRE

    Java Runtime Environment — это среда выполнения для приложений на Java. Она включает: 

    • JVM для запуска байткода;
    • стандартные библиотеки Java;
    • служебные компоненты и системные файлы.

    При запуске программы среда выполнения загружает необходимые библиотеки, инициализирует JRM и передает ей байткод. После этого виртуальная машина начинает выполнять инструкции, а JRE обеспечивает доступ к стандартным возможностям платформы Java. 

    Если компания создала внутреннее приложение для сотрудников на Java, им не нужен полный пакет разработчика, будет достаточно среды JRE.

    Зачем нужен JDK 

    Java Development Kit — это готовый комплект инструментов для программистов, которые работают на Java. 

    В состав JDK входят:

    • Компилятор javac — преобразует исходные файлы .java в байткод .class, который затем выполняется JVM.
    • JVM — запускает скомпилированный код и обеспечивает его работу на разных платформах.
    • Стандартные библиотеки Java — используются для работы со строками, файлами, коллекциями, сетью и другими возможностями языка.
    • Инструменты разработчика — нужны для отладки, анализа производительности и проверки работоспособности.

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

    Чем отличаются JDK, JRE и JVM

    Все три компонента тесно связаны: JDK включает JRE, а JRE — включает JVM. При этом у каждого компонента собственная задача. 

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

    Сегодня отдельная установка JRE встречается редко. Начиная с Java 9, корпорация Oracle перестала распространять JRE как отдельный продукт. Пользователи устанавливают полный JDK или получают необходимую среду вместе с приложением.

    JDK, JRE и JRE
    Связь между JDK, JRE и JRE. Источник

    Какую JDK выбрать

    Существуют разные сборки JDK. Они реализуют одну и ту же платформу, но отличаются типом лицензии, политикой поддержки и особенностями распространения. 

    • OpenJDK — официальная версия платформы, которая служит основой для большинства современных дистрибутивов. 
    • Oracle JDK — комплект разработчика от Oracle. Предоставляется бесплатно для личных целей и обучения.
    • Eclipse Temurin — популярный дистрибутив. Регулярно получает обновления, поддерживает LTS-релизы и широко используется как в учебных, так и в корпоративных проектах. 
    • Amazon Corretto — кроссплатформенный дистрибутив от Amazon. Работает на разных ОС, подходит для запуска программ в облаке и на серверах.
    • Microsoft Build of OpenJDK — долгосрочно поддерживаемый дистрибутив. Обычно используется внутри инфраструктуры Microsoft и на платформе Azure.

    Все дистрибутивы позволяют создавать Java-программы. Начинающим разработчикам будет достаточно OpenJDK или Eclipse Temurin — они бесплатны, регулярно обновляются и подходят для большинства задач.

    Типичные ошибки начинающих

    При первом знакомстве с Java некоторые разработчики допускают ошибки: 

    • Не проверяют установленную версию Java: если на компьютере несколько версий JDK, система может использовать не ту, которая нужна для проекта. Из-за этого возникают ошибки компиляции или несовместимость библиотек. Перед началом работы проверьте активную версию Java и настройте использование нужной JDK. 
    • Не добавляют Java в переменную PATH: даже при корректной установке JDK код может не выполняться, если операционная система не знает, где искать исполняемые файлы. Убедитесь, что каталог bin из установленной JDK указан в системной переменной PATH. После изменения настроек откройте новое окно терминала или перезапустите его. 
    • Пытаются запустить java-код напрямую: сначала исходный файл нужно скомпилировать в байткод с помощью команды javac, а уже потом выполнить через JVM. 

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

    Главное о JDK, JRE и JVM

    • JVM превращает байткод в инструкции для процессора и отвечает за запуск приложений на разных операционных системах.
    • JRE объединяет виртуальную машину и библиотеки классов, используется для выполнения готовых программ.
    • Для создания приложений с нуля, нужно установить JDK. Он включает среду выполнения JRE, компилятор и утилиты для отладки.
    • Есть разные сборки JDK. Начинающим программистам подойдут OpenJDK или Eclipse Temurin.
    • Эти три компонента связаны между собой: JDK включает среду JRE, а JRE — содержит JVM.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии