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, которые позволяют работать на запущенной виртуальной машине. Эти инструменты дают возможность отслеживать утечки памяти, а также наблюдать общее потребление памяти в вашей системе.
Среда выполнения 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 уже сегодня.
Новое в версии Java SE Development Kit 17.0.1 (19.10.2021)
Новое в версии Java SE Runtime Environment 8u311 (19.10.2021)
Новое в версии Java SE Development Kit 16.0.2 (20.07.2021)
Новое в версии Java SE Development Kit 11.0.12 (20.07.2021)
Новое в версии Java SE Development Kit 15.0.2 (19.01.2021)
Системные требования
Системные требования Java Runtime Environment 8
Windows
Mac OS X
Для запуска Oracle Java для Mac OS X требуется 64-разрядный браузер (например, Safari или Firefox).
Linux
Полезные ссылки
Также посмотрите
Подробное описание
Java Runtime Environment (JRE) предоставляет библиотеки, виртуальную машину Java и другие компоненты для запуска апплетов и приложений, написанных на языке программирования Java.
Дополнительно JRE включает две ключевые технологии развертывания: Java Plug-in, который позволяет запускать апплеты в популярных браузерах, и Java Web Start, которая позволяет развертывать автономных приложений в сети.
Здесь размещены официальные ссылки для загрузки Java Runtime Environment для 32-разрядных и 64-разрядных операционных систем Windows и приложений.
Описание разработчика Java Runtime Environment
На сегодняшний день платформа Java привлекла более 9 миллионов разработчиков программного обеспечения. Она используется во всех главных сегментах индустрии, а также в широком диапазоне устройств, компьютеров и сетей.
Универсальность, эффективность, портативность платформ и безопасность технологии Java делают эту технологию идеальным выбором для сетевых вычислений. От портативных компьютеров до центров сбора данных, от игровых консолей до суперкомпьютеров, используемых для научных разработок, от сотовых телефонов до сети Интернет.
На основе технологий Java работают приставки, принтеры, веб-камеры, игры, навигационные системы для автомобилей, терминалы для проведения лотерей, медицинские устройства, автоматы для оплаты парковки и многое другое.
Как скачать Java SE Runtime Environment / Development Kit
Перейдите на страницу загрузки и выберите версию для вашего устройства.
Java Development Kit (JDK), виртуальная машина Java (JVM) и среда выполнения Java (JRE) вместе образуют мощные возможности компонентов платформы Java, используемых для разработки и запуска приложений Java. ЯJDK был представлен ранееиJVM。В этом кратком руководстве вы узнаете о JRE, среде выполнения Java.
На самом деле,Среда выполненияЭто программное обеспечение, предназначенное для запуска другого программного обеспечения. Как среда выполнения Java, JRE содержит библиотеку классов Java, загрузчик классов Java и виртуальную машину Java. В этой системе:
Мы рассмотрим, как эти компоненты работают вместе, в следующих главах.
Установите JDK, JRE и JVM
С точки зрения установки, всякий раз, когдаСкачать JDK, Он будет содержать совместимую с версией JRE, а JRE будет содержать JVM по умолчанию. Вы также можете загрузить JRE отдельно от JDK и выбрать из множества JVM. Значение по умолчанию работает для большинства реализаций, особенно когда вы начинаете использовать Java.
Что такое среда выполнения?
Программное обеспечение должно быть выполнено, и среда должна быть запущена. Среда выполнения загружает файлы классов и обеспечивает доступ к памяти и другим системным ресурсам для их запуска. В прошлом большинство программного обеспечения использовали операционную систему (ОС) в качестве среды выполнения. Программа запускается на любом компьютере, на котором она находится, но использует параметры операционной системы для доступа к ресурсам. В этом случае ресурсами будут память и программные файлы и зависимости. Среда выполнения Java меняет все это, по крайней мере, для программ Java.
WORA for Java
Когда Java впервые появился, принцип «пиши один раз, беги куда угодно» считался революционным, но сегодня он стал стандартом для большинства программных систем.
Java Runtime Environment
JRE может сгладить разнообразие операционных систем и гарантировать, что программы на Java могут работать практически на любой операционной системе без изменений. Он также предоставляет дополнительные услуги. Автоматическое управление памятью является одним из наиболее важных сервисов JRE, гарантирующим, что программистам не придется вручную управлять выделением и перераспределением памяти.
Как JRE работает с JVM
JRE содержит библиотеки и программное обеспечение, необходимое для запуска программ на Java. Например,Загрузчик классов JavaЯвляется частью среды выполнения Java. Это важное программное обеспечение загружает скомпилированный код Java в память и связывает код с соответствующими библиотеками классов Java.
В иерархическом представлении, которое я только что описал, JVM создается JRE. С точки зрения пакета JRE содержит JVM, как показано на рисунке 1.
Рисунок 1. JRE содержит JVM
Установите и используйте JRE
Хотя JRE имеет концептуальный аспект, в реальной работе это просто программное обеспечение, установленное на компьютере, и его целью является запуск программ Java. Как разработчик, вы будете в первую очередь использовать JDK и JVM, так как это компоненты платформы для разработки и запуска программ на Java. Как пользователь приложения Java, вы будете более вовлечены в JRE, что позволяет вам запускать эти программы.
В большинстве случаев на вашем компьютере будет установлена Java, и JRE будет включена в нее. Если вам нужно установить или обновить вручную, вы можете загрузить его из OracleЗагрузите текущую версию JRE。
Версия JRE
Среда выполнения Java обновляется для каждой новой версии Java с номером версии, соответствующим системе управления версиями платформы Java, такой как JRE 1.8 с Java 8. Хотя у вас есть на выбор несколько пакетов JDK (например, Enterprise Edition) или Standard Edition) Отличается от JRE. Большинство компьютеров используют JRE, разработанную для Java SE, которая способна запускать любое приложение Java, независимо от того, как оно было разработано. Большинство мобильных устройств поставляются с JRE для Java ME, который предварительно установлен на мобильном устройстве и не может быть загружен.
JRE в Devops
JRE не очень очевидна на этапе разработки, она в основном просто запускает программу в выбранной вами операционной системе или IDE. JRE играет более заметную роль в разработке и управлении системой, поскольку она используется для мониторинга и настройки.
Девопс или системный администратор?
DevopsЭто новый термин, но он описывает нечто, существующее десятилетиями, а именно взаимодействие между разработкой и эксплуатацией. В этом смыслеdevopsЭто просто новый термин, который ранее назывался операциями или системным управлением. Как и sysadmin, важным аспектом devops является управление системами, необходимыми для запуска программного обеспечения. JRE для управления является частью системы, которая запускает Java-приложения.
Память Java и JRE
Память Java состоит из трех компонентов: кучи, стека и метапространства (ранее известного как permgen).
Управление памятью в Java 8
Другие параметры памяти (куча и стек) остаются неизменными в Java 8.
Настроить пространство кучи
Настроить пространство стека
Мониторинг приложений Java
Хотя мониторинг приложений является функцией JVM, JRE предоставляет опции конфигурации, которые являются необходимым эталоном для мониторинга. Есть много инструментов, доступных для мониторинга приложений Java от классического (например, команды Unix top ) Для сложных решений удаленного мониторинга (таких как мониторинг инфраструктуры Oracle).
Между этими опциями находится визуальный анализатор, такой какVisualVMЧтобы разрешить проверку работающей JVM. Эти инструменты могут отслеживать горячие точки и утечки памяти, а также отслеживать общее потребление памяти в системе.
Национальная библиотека им. Н. Э. Баумана Bauman National Library
Персональные инструменты
Java Runtime Environment
Java Runtime Environment
Разработчики:
Oracle Corporation (после поглощения Sun Microsystems)
Написана на:
Java
Операционная система:
Кроссплатформенное программное обеспечение
Тип ПО:
Программная платформа
Лицензия:
Java Runtime Environment (JRE) представляет собой набор программных инструментов для разработки приложений Java. Он объединяет виртуальную машину Java (JVM), основные классы платформы и поддерживающие библиотеки. [Источник 1]
JRE является частью Java Development Kit (JDK), но может быть загружен отдельно. JRE была первоначально разработана Sun Microsystems Inc., дочерней компанией Oracle Corporation.
Содержание
История
Технология Java была запущена в 1995 году, и Sun Microsystems опубликовала одно издание каждые 18 месяцев. В первой версии JRE, опубликованной в 1995 году, библиотеки насчитывают 171 класс объектов. В версии 1.4, опубликованной в 2002 году, они уже насчитывают 2 367 классов объектов.
В 2010 году Sun Microsystems, которая распространяет JRE, приобретается Oracle Corporation, которая заявляет о своем намерении продолжить разработку технологии Java
Характеристики
Как правило, среда выполнения состоит из виртуальной машины Java (Java VM), которая отвечает за запуск приложений Java, интерфейса прикладного программирования (API) и других программных библиотек. API предоставляет стандартные классы языка программирования Java, такие как «java.lang.String». Виртуальная машина и API должны быть совместимыми и поэтому сгруппированы в JRE. Это можно рассматривать как виртуальный компьютер, который предоставляет некоторые процессоры на виртуальной машине и API в качестве верхнего слоя библиотеки.
Среда выполнения Java не включает средства разработки, такие как компиляторы. Для программирования на Java требуется Java Development Kit (JDK) или другая среда программирования, которая также генерирует байт-код Java.
Архитектура
JRE состоит из виртуальной машины, программных библиотек, используемых программами Java, и плагина для запуска этих программ из веб-браузеров.
Android, платформа для мобильных телефонов, созданная Google, включает в себя виртуальную машину и библиотеку программного обеспечения, аналогичную JRE6, которая включена в устройства производителями.
Виртуальная машина
Режимы выполнения байт-кода
Режим HotSpot виртуальной машины переводит инструкции с байт-кода на машинный язык машины, на которой запущен JRE; после чего выполняются переведенные инструкции. Переведенные инструкции сохраняются для ограничения количества операций перевода. В этом режиме запуск Java-программ выполняется быстрее, но требует больше памяти.
В режиме адаптивного компиляции виртуальная машина только переводит часто исполняемые инструкции, альтернативно используя методы интерпретации или HotSpot по мере необходимости.
Виртуальная машина также оснащена сборщиком мусора (сборщик мусора), который позволяет освободить память, которая больше не используется программой Java.
Библиотеки
Библиотеки программного обеспечения JRE реализуют английский интерфейс прикладного программирования (API). Это стандартизованный набор функций, связанных с классами объектов и сгруппированных по предмету (пакет). В своем выпуске 2002 года JRE имеет 135 пакетов, которые предоставляют функции, которые используются Java-программами для:
Swing – это два набора пакетов, включенных в JRE, предназначенные для создания графических интерфейсов.
С 1998 года существует несколько вариантов библиотек, более или менее богатых. Библиотеки, включенные в JRE, соответствуют стандартной версии под названием Java SE11, предназначенной для персональных компьютеров. Существует также версия Java ME для мобильных телефонов и версия Java EE для корпоративных серверов.
Плагины
Когда веб-страница имеет ссылку на апплет, плагин использует виртуальную машину JRE для запуска программы. Браузеры, такие как Internet Explorer или Netscape Navigator, имеют встроенную виртуальную машину, но она менее продвинута и не предлагает те же возможности, что и JRE. Java Plug-In затем позволяет избежать использования виртуальной машины, встроенной в браузер.
Релизы
С моментом выхода среды выполнения Java 2, Java в том виде, в котором она обеспечивается Sun, разделенный на издания, как Java-приложения, может быть использован на различных устройствах с различными характеристиками мобильных устройств от настольных компьютеров до серверы:
Java-платформа Java Platform
Позволяет апплетам Java Card запускать следующие Java-апплеты на смарт-картах с использованием уменьшенного стандарта Java.
Java Platform, Micro Edition (Java ME)
Платформа для так называемых встроенных потребительских продуктов, таких как смартфоны или планшеты.
Платформа Java, стандартная версия (Java SE)
Коллекция интерфейсов программирования Java для общего использования на ПК, серверах или подобных устройствах. Java SE служит основой для технологий Java EE и Java ME.
Платформа Java, Enterprise Edition (Java EE)
Java SE, обогащенный программными интерфейсами для транзакционного выполнения многоуровневых корпоративных и веб-приложений. Выпуски Standard и Enterprise используют ту же виртуальную машину (Java Virtual Machine, JVM), но программирование в Enterprise Edition для многочисленных дополнительных библиотек и дополнительных программ (в частности, для сервера приложений) добавлено. Java EE в первую очередь следует понимать как спецификацию, использование которой в основном основано на коммерческих продуктах других производителей или программ с открытым исходным кодом.
Версии и поддерживаемые системы
Версии JRE нумеруются одинаково с версиями Java;
В конце 2012 года существует более 50 последовательных версий JRE, в том числе 7 основных. Последняя версия для OS X, Linux, Windows и Solaris и является 1.7.0.45 (также под названием «7 Update 45») в октябре 2013 года, распространяется их владельца Oracle (после приобретения редактора Sun Microsystems в 2009 году). Если Java входит в несколько выпусков (Java SE, Java EE, Java ME, Java FX), JRE соответствует стандартной версии Java SE. Таким образом, выполнить на клиентском программное обеспечение, написанное в Java EE требует, помимо JRE, по мере необходимости обеспечивается контейнером Java, «тяжелый», как Apache Tomcat, JBoss и Джонас, или дополнительные библиотеки J2EE.
Особенности Mac OS X
Начиная с версии Java 1.5, нет выпуска JRE для компьютеров Mac OS X с процессором Motorola. Релизы 1.6 Java (Java 6) для Mac OS X Процессор Intel и большая часть Java 7 были интегрированы в эту ОС и поэтому специально распространяются Apple. Это до октября 2010 года, когда Apple объявляет о своем намерении не интегрировать следующие Apple-процессы в OS X. В 2012 году, начиная с версии Mac OS X v10.7 2012-006, дистрибутив JRE для Mac OS X возвращается в Oracle.
Специальные возможности для Microsoft Windows
Панель управления Java является расширением для панели управления Microsoft Windows. Там могут быть созданы параметры среды Java Runtime Environment (JRE). Во время установки файл файла jpicpl32.cpl или javacpl.cpl добавляется в системный каталог Windows.
Для написания такого программного обеспечения требуется использование Java Development Kit (JDK), также распространяемого корпорацией Oracle. Таким образом, хотя JRE предназначен для пользователей программ на языке Java, JDK предназначен для программистов: он включает в себя помимо виртуальной машины и библиотек команды для создания программ на языке Java. Этот же JDK упакован в различные дистрибутивы, содержащие дополнительные API для разных контекстов реализации: Java SE, Java EE, Java ME и т. д. [Источник 2]