JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

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

Что такое JRE (Java Runtime Environment)?

Среда выполнения Java или JRE — это программный уровень, который запускается поверх операционной системы компьютера и предоставляет библиотеки классов и другие ресурсы, необходимые для выполнения программ на Java.

JRE — один из трех взаимосвязанных компонентов для разработки и выполнения программ на Java. Два остальных компонента:

  • Java Development Kit или JDK — набор инструментов для разработки приложений на Java. Выбор конкретного JDK зависит от версии Java, пакета или выпуска: это может быть Java Enterprise Edition (Java EE), Java Special Edition (Java SE) или Java Mobile Edition (Java ME). В состав каждого JDK всегда входит совместимая JRE, так как запуск программы на Java входит в процесс ее разработки.
  • Виртуальная машина Java или JVM выполняет приложения на Java. В каждой JRE есть стандартная JVM, но разработчики могут выбрать любую другую, больше подходящую для их приложений.

JRE объединяет код Java, созданный с помощью JDK, с необходимыми библиотеками для выполнения в JVM, а затем создает экземпляр JVM, выполняющий итоговую программу. JVM доступны для различных операционных систем, и программы, созданные с помощью JRE, будут работать во всех этих ОС. Таким образом, среда выполнения Java — это то, что позволяет выполнять программы на Java в любой ОС без дополнительных изменений.

JDK вместе с совместимой JRE можно загрузить с сайта Oracle (внешняя ссылка).

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

JDK и JRE вместе формируют устойчивую среду выполнения, позволяющую выполнять приложения на основе Java практически в любой операционной системе. Компоненты архитектуры среды JRE:

ClassLoader

Java ClassLoader динамически загружает все классы, необходимые для выполнения программы на Java. Так как классы Java загружаются в память только тогда, когда они необходимы, JRE использует загрузчики ClassLoader для автоматизации процесса по запросу.

Верификатор байт-кода

Верификатор байт-кода проверяет формат и точность кода Java перед передачей его интерпретатору. Если код нарушает целостность системы или права доступа, класс будет считаться поврежденным и загружаться не будет.

Интерпретатор

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

Из чего состоит JRE?

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

Решения для развертывания

В состав JRE входят такие средства установки и развертывания, как Java Web Start и Java Plugin, упрощающие активацию приложений и предоставляющие дополнительную поддержку последующих обновлений Java.

Комплекты инструментов для разработки

Также в JRE входят комплекты инструментов, помогающие разработчикам улучшить пользовательский интерфейс. Вот некоторые из них:

  • Java 2D: программный интерфейс приложения (API) для рисования двухмерных изображений на языке Java. Позволяет разработчикам создавать качественные пользовательские интерфейсы со специальными эффектами, играми и анимацией.
  • Библиотека Abstract Window Toolkit (AWT): графический интерфейс пользователя для создания объектов, кнопок, полос прокрутки и окон.
  • Библиотека Swing: еще один упрощенный графический интерфейс с широким спектром виджетов и гибкими возможностями настройки.

Библиотеки интеграции

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

  • Java IDL (CORBA): использует общую архитектуру объектных запросов для поддержки распределенных объектов, написанных на Java.
  • API Java Database Connectivity (JDBC): предоставляет инструменты для разработки приложений с доступом к удаленным реляционным базам данных, простым файлам и электронным таблицам.
  • Java Naming and Directory Interface (JNDI): программный интерфейс и служба каталогов, позволяющая клиентам создавать переносимые приложения, способные извлекать информацию из баз данных в соответствии с соглашениями об именах.

Языковые библиотеки и утилиты

Входящие в JRE пакеты java.lang. и java.util. являются основными для проектирования приложений, управления версиями пакетов, управления и мониторинга. Примеры пакетов:

  • Collections Framework: унифицированная архитектура, представляющая собой набор интерфейсов, предназначенных для улучшения хранения и обработки данных приложений.
  • Утилиты параллелизма: мощный пакет с высокопроизводительными утилитами для обработки потоков.
  • API параметров: облегченный, межплатформенный постоянный API, с помощью которого несколько пользователей в одной и той же системе могут задавать собственные группы параметров приложений.
  • Ведение протоколов: создает отчеты (например, о нарушениях безопасности, ошибках конфигурации и проблемах с производительностью) для последующего анализа.
  • Java Archive (JAR): платформо-независимый формат файлов, позволяющий упаковывать несколько файлов в архив для значительного ускорения загрузки и уменьшения размера файлов.

JRE и IBM

JRE и IBM Cloud

Для многих организаций Java по-прежнему является неотъемлемой составляющей разработки приложений и надежной основой для создания переносимых и масштабируемых решений. Также без этой среды сложно представить модернизацию приложений в ходе освоения облака.

Сделайте следующий шаг:

  • Узнайте о решениях OpenJDK и IBM Runtimes for Business, обеспечивающих надежную и экономичную поддержку реализации, мониторинга приложений на Java и управления ими.

Начните работать с учетной записью IBM Cloud уже сегодня.