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

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

Почему JRE является столь важной?

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

 

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

Пакет средств разработки Java

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

Виртуальная машина Java

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

Роль JRE в языке программирования Java

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

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

JDK – это программный слой над JRE, который содержит компилятор, отладчик и другие инструменты, обычно встречающиеся в любой среде разработки программного обеспечения. В JDK вы пишете код с использованием синтаксиса, подобного английскому языку. JDK компилирует его и передает байт-код в JRE. В отличие от этого, JRE содержит библиотеки классов, вспомогательные файлы и JVM. Здесь используются эти программные компоненты для запуска байт-кода на любом устройстве.

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

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

ClassLoader

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

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

В JDK есть компилятор, который преобразует написанный вами англоязычный код в версию на машинном языке, называемую байткодом Java. Верификатор байткода в JRE проверяет формат и точность кода Java перед его загрузкой в JVM. Например, если код нарушает целостность системы или права доступа, JRE не загрузит файл класса.

Переводчик

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

Из каких компонентов состоит JRE?

Помимо основных компонентов, среда выполнения для Java (JRE) содержит несколько других программных компонентов, которые помогают более эффективно выполнять Java-программы. Далее приведены некоторые примеры.

Инструменты разработки

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

Java 2D

Java 2D – это интерфейс прикладных задач (API), который можно использовать для рисования двумерной графики и создания прекрасных пользовательских интерфейсов, игр, анимации и специальных эффектов на языке Java.

Swing

Swing – это легкий графический интерфейс пользователя (GUI), который обеспечивает гибкую, удобную для пользователя настройку.

Abstract Window Toolkit

Abstract Window Toolkit (AWT) – это графический интерфейс, который можно использовать для создания объектов пользовательского интерфейса, таких как кнопки, окна и полосы прокрутки.

Решения по развертыванию

JRE включает технологии, которые упрощают процесс выпуска изменений программного обеспечения для пользователей приложений. Эти технологии также обеспечивают расширенную поддержку обновлений в приложении. Технологии развертывания, такие как Java Web Start и плагин Java, включены как часть установки JRE. Эти технологии упрощают активацию приложений, а также обеспечивают расширенную поддержку будущих обновлений JRE. Далее приведены некоторые примеры.

Java Web Start

С помощью Java Web Start вы можете запускать полнофункциональные приложения одним щелчком мыши из веб-браузера.

Плагин Java

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

Библиотеки языков и утилит

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

Система коллекций

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

API предпочтений

API предпочтений позволяет нескольким пользователям на одной машине определять собственную группу предпочтений приложений.

Ведение журналов

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

Архив Java

Архив Java (JAR) – это независимый от платформы формат файлов, позволяющий объединять несколько файлов для уменьшения размера файлов приложений и значительного повышения скорости загрузки.

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

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

Java IDL

Язык Java Interface Definition Language (IDL), который основан на архитектуре Common Object Request Broker Architecture (CORBA), поддерживает распределенные объекты данных, то есть объекты, которые взаимодействуют на разных платформах по сети. Например, Java IDL позволяет объектам, написанным на Java, взаимодействовать с объектами, написанными на другом языке, таком как C, C++ или COBOL.

Подключение к базам данных Java

Разработчики используют API Java Database Connectivity (JDBC) для написания приложений, которые могут обращаться к удаленным базам данных, электронным таблицам и файлам.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) – это сервис каталогов, позволяющий клиентам создавать переносимые приложения, которые получают информацию из внешних баз данных, используя правила именования.

Что такое AWS SDK для Java?

Пакет средств разработки ПО (SDK) AWS для Java упрощает использование сервисов AWS, предоставляя упорядоченный набор библиотек, с которыми знакомы разработчики Java. AWS SDK for Java также поддерживает более высокий уровень абстракций для упрощения разработки. Доступны библиотеки Java с открытым исходным кодом, ориентированные на AWS, а также примеры кода и справочное руководство по API Java.

 

Примеры кода AWS SDK для Java 2.0 на GitHub содержат примеры на языке Java и реальные примеры работы с сервисами AWS, которые ускорят разработку собственных приложений. Кроме того, справочник AWS SDK по Java API описывает работу API в новейшей версии AWS SDK для Java. Кроме того, приводятся образцы запросов, ответов и список ошибок для поддерживаемых сетевых протоколов.

 

Начните работать используя руководство для разработчиков AWS SDK для Java, или посетите центр разработчиков AWS Java.                                       

Следующие шаги на AWS