Для чего используется jre
JRE (Java Runtime Environment)
Что такое JRE (Java Runtime Environment)?
Среда выполнения Java или JRE — это программный уровень, который запускается поверх операционной системы компьютера и предоставляет библиотеки классов и другие ресурсы, необходимые для выполнения программ на Java.
JRE — один из трех взаимосвязанных компонентов для разработки и выполнения программ на Java. Два остальных компонента:
JRE объединяет код Java, созданный с помощью JDK, с необходимыми библиотеками для выполнения в JVM, а затем создает экземпляр JVM, выполняющий итоговую программу. JVM доступны для различных операционных систем, и программы, созданные с помощью JRE, будут работать во всех этих ОС. Таким образом, среда выполнения Java — это то, что позволяет выполнять программы на Java в любой ОС без дополнительных изменений.
Как работает 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 предоставляет множество библиотек интеграции, помогающих разработчикам обеспечивать универсальный доступ к данным из приложений и служб. Примеры библиотек:
Языковые библиотеки и утилиты
Входящие в JRE пакеты java.lang. и java.util. являются основными для проектирования приложений, управления версиями пакетов, управления и мониторинга. Примеры пакетов:
JRE и IBM
Для многих организаций Java по-прежнему является неотъемлемой составляющей разработки приложений и надежной основой для создания переносимых и масштабируемых решений. Также без этой среды сложно представить модернизацию приложений в ходе освоения облака.
Сделайте следующий шаг:
Начните работать с учетной записью IBM Cloud уже сегодня.
Что такое JRE? Введение в среду выполнения Java
Java Development Kit (JDK), виртуальная машина Java (JVM) и среда выполнения Java (JRE) вместе образуют мощное сочетание компонентов платформы Java для разработки и запуска приложений Java. Ранее я писал о JDK и JVM, а в этом кратком руководстве вы узнаете о JRE, или что такое среда выполнения Java.
Мы углубимся в то, как эти компоненты работают вместе в следующих разделах.
Установка JDK, JRE и JVM
В любое время можно скачать пакет JDK, он будет включать в себя совместимости с версией JRE, а JRE будет включать по умолчанию JVM. Вы также можете скачать JRE отдельно от JDK, и вы можете выбрать из множества Jvm. Значения по умолчанию хорошо работают для большинства реализаций, особенно когда вы начинаете учиться Java.
Что такое среда выполнения?
Программа должна выполняться, и для этого ей нужна среда для работы. Среда выполнения загружает файлы классов и обеспечивает доступ к памяти и другим системным ресурсам для их запуска. В прошлом большинство программ использовали операционную систему (ОС) в качестве среды выполнения. Программа запускалась внутри любого компьютера, на котором она была, но полагалась на настройки операционной системы для доступа к ресурсам. Ресурсами в этом случае будут такие вещи, как память, программные файлы и зависимости. Среда выполнения Java изменила все это, по крайней мере, для программ Java.
Когда был впервые представлен принцип Java «Написано один раз – выполняется везде», он считался революционным, но сегодня принят в качестве нормы для большинства программных систем.
Среда выполнения Java
JRE сглаживает разнообразие операционных систем, гарантируя, что программы Java могут работать практически на любой ОС без изменений. Он также предоставляет дополнительные услуги. Автоматическое управление памятью является одним из наиболее важных сервисов JRE, гарантируя, что программистам не придётся вручную контролировать выделение и перераспределение памяти.
Короче говоря, JRE является своего рода meta-OS для программ Java. Это классический пример абстрагирования, абстрагирования базовой операционной системы в согласованное платформа для запуска Java-приложений.
Как JRE работает с JVM
JRE содержит библиотеки и программное обеспечение, необходимые для работы программ Java. Как пример, Ява загрузчик класса является частью среды выполнения Java. Эта важная часть программного обеспечения загружает скомпилированный код Java в память и соединяет код с соответствующими библиотеками классов Java.
В слоистом виде, который я только что описал, JVM создается JRE. С точки зрения пакета JRE содержит JVM, как показано на рисунке ниже
В то время как есть концептуальная сторона JRE, в реальной практике это просто программное обеспечение, установленное на компьютере, целью которого является запуск программ Java. Как разработчик, вы будете в основном работать с JDK и JVM, потому что это компоненты платформы, которые вы используете для разработки и запуска программ Java. Как пользователь приложения Java, вы были бы более вовлечены в JRE, что позволяет запускать эти программы.
В большинстве случаев, ваш компьютер будет поставляться с уже установленной Java, и JRE будет включен. Если вам когда-нибудь понадобится, чтобы вручную установить или обновить, вы можете скачать текущую версию JRE от Oracle.
Среда выполнения Java обновляется для каждой новой версии Java, и ее номера версий совпадают с системой управления версиями платформы Java, так например jre 1.8 выполняет Java 8. В то время как у вас есть множество пакетов JDK на выбор (например, Enterprise Edition или Standard Edition), это не относится к JRE. Большинство компьютеров используют JRE, разработанный для Java SE, который может запускать любое приложение Java независимо от того, как оно было разработано. Большинство мобильных устройств поставляются с JRE для Java ME, который предварительно установлен на мобильном устройстве и не доступен для загрузки.
JRE не очень заметен на этапе разработки, где он в основном просто запускает ваши программы в ОС или IDE по вашему выбору. JRE играет немного более заметную роль devops и администрирование систем, потому что он используется для мониторинга и конфигурации.
В основном, JRE предоставляет «ручки», которые вы использовали бы для настройки и управления характеристиками приложения Java. Использование памяти является ярким примером. Использование памяти всегда важно, например в облачных конфигурациях, а devops-это облачная технология. Если вы работаете в среде devops или заинтересованы в развертывании devops, лучше понять, как работает память Java и как она отслеживается в JRE.
Devops или sysadmin?
Память Java состоит из трех компонентов: heap, stack и metaspace (который ранее назывался permgen).
Управление памятью в Java 8
Другие параметры памяти, куча и стек, остаются теми же в Java 8.
Настройка пространства кучи
Настройка пространства стека
Пространство стека, где вызовы функций и переменных ссылки ставятся в очередь. Пространство стека является источником второй самой печально известной ошибки в программировании Java: исключение переполнения стека (первое является нулевым исключением указателя). В переполнение стека исключений указывает на то, что у вас нет места в стеке, потому что слишком много было зарезервировано. Обычно вы получаете переполнение стека, когда метод или методы вызывают друг друга циклическим образом, тем самым посвящая постоянно растущее число вызовов функции в стек.
Мониторинг приложений Java
Хотя мониторинг приложений является функцией JVM, JRE предоставляет параметры конфигурации, которые являются необходимыми базовыми вещами для мониторинга. Различные инструменты доступны для мониторинга Java-приложений, от классики (вроде команд Unix top) до сложных решений дистанционного контроля от Oracle для мониторинга инфраструктуры.
Между этими вариантами расположены визуальные профайлеры VisualVM, которые позволяют работать на запущенной виртуальной машине. Эти инструменты дают возможность отслеживать утечки памяти, а также наблюдать общее потребление памяти в вашей системе.
статьи IT, java, jre