Java SE Technologies
The following conceptual diagram illustrates the components of Oracle’s Java Platform Products:
Jave SE Platform at a Glance

Click the preceding illustration to go to the Java Conceptual Design documentation. Click the following technology links to go either to a hub page on that technology, if available, or to the documentation.
Desktop Components
Core Components
Java Virtual Machine
Database Components
Security Components
Tooling
Java SE Overview
There are two principal products in the Java SE platform family: Java SE Runtime Environment (JRE) and Java Development Kit (JDK).
The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language. In addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables applets to run in popular browsers; and Java Web Start, which deploys standalone applications over a network. It is also the foundation for the technologies in the Java 2 Platform, Enterprise Edition (J2EE) for enterprise software development and deployment. The JRE does not contain tools and utilities such as compilers or debuggers for developing applets and applications.
The JDK is a superset of the JRE, and contains everything that is in the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications. The conceptual diagram above illustrates all the component technologies in Java SE platform and how they fit together.
The Java SE application programming interface (API) defines the manner by which an applet or application can make requests to and use the functionality available in the compiled Java SE class libraries. (The Java SE class libraries are also part of the Java SE platform.)
The Java SE API consists of core technologies, Desktop (or client) technologies, and other technologies.
- Core components provide essential functionality for writing powerful enterprise-worthy programs in key areas such as database access, security, remote method invocation (RMI), and communications.
- Desktop components add a full range of features to help build applications that provide a rich user experience deployment products such as Java Plug-in, component modeling APIs such as JavaBeans, and a graphical user interface.
- Other components round out the functionality.
The Java Virtual Machine is responsible for the hardware- and operating system-independence of the Java SE platform, the small size of compiled code (bytecodes), and platform security.
The Java SE platform works with an array of tools, including Integrated Development Environments (IDEs), performance and testing tools, and performance monitoring tools.
Java SE Runtime Environment / Development Kit
JDK 20 будет получать обновления до сентября 2023 года, когда он будет заменен JDK 21. Бинарные файлы JDK 20 можно свободно использовать в производстве и бесплатно распространять в соответствии с Условиями и положениями Oracle No-Fee.
Новое в версии Java SE Development Kit 20.0.2 (18.07.2023)
Oracle выпустила Java SE 20 после шести месяцев разработки, используя проект OpenJDK в качестве эталонной реализации. Обратная совместимость сохранена, за исключением удаления некоторых устаревших возможностей. Сборки JDK, JRE и Server JRE доступны для Linux, Windows и macOS. Реализация Java 20 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath. Java SE 20 является выпуском с обычным сроком поддержки, обновления будут выпускаться до следующего релиза. Ветка с длительным сроком поддержки (LTS) — Java SE 17. Проект Java перешел на новый процесс разработки с более коротким циклом формирования релизов, начиная с Java 10.
Ключевые нововведения Java SE 20:
- Поддержка ограниченных значений (Scoped Values). Java SE 20 предлагает предварительную поддержку ограниченных значений, которые позволяют совместно использовать неизменяемые данные между потоками и эффективно обмениваться данными между дочерними потоками. Scoped Values разрабатываются для замены переменных локальных к потоку (thread-local variables) и предоставляют большую эффективность при работе с большим количеством виртуальных потоков.
- Шаблоны записей (record pattern). Java SE 20 включает вторую предварительную реализацию шаблонов записей, расширяющую сопоставление с образцом для классов типа record. Это упрощает разбор значений таких классов и делает код более читаемым и лаконичным.
- Сопоставление по шаблону в выражениях «switch». Java SE 20 предлагает четвёртую предварительную реализацию сопоставления по шаблону в выражениях «switch». Это позволяет использовать гибкие шаблоны вместо точных значений в метках «case», облегчая работу с группами значений и упрощая код.
- API FFM (Foreign Function & Memory). Java SE 20 представляет вторую предварительную реализацию API FFM для взаимодействия Java-программ с внешним кодом и данными. Это позволяет вызывать функции из внешних библиотек и осуществлять доступ к памяти вне JVM, облегчая интеграцию с различными системами и платформами.
- Виртуальные потоки. Java SE 20 предлагает вторую предварительную реализацию виртуальных потоков — легковесных потоков, которые упрощают разработку и сопровождение высокопроизводительных многопоточных приложений.
- API для структурированного параллелизма. В Java SE 20 добавлен второй вариант экспериментального API для структурированного параллелизма. Этот API упрощает разработку многопоточных приложений путем обработки нескольких задач, выполняемых в разных потоках, как единого блока. Это позволяет создавать более надежные и производительные параллельные алгоритмы.
- API Vector. Java SE 20 включает пятую предварительную реализацию API Vector, предоставляющего функции для векторных вычислений. Эти вычисления используют векторные инструкции процессоров x86_64 и AArch64, позволяя одновременно применять операции к нескольким значениям (SIMD). В отличие от автовекторизации скалярных операций, предоставляемых JIT-компилятором HotSpot, новый API позволяет разработчикам явно управлять векторизацией для параллельной обработки данных, что может привести к улучшению производительности.
Новое в Java SE 17 LTS
JDK 17 будет получать обновления до сентября 2024 года, через год после выпуска следующей LTS. Бинарные файлы JDK 17 можно свободно использовать в производстве и бесплатно распространять в соответствии с Условиями и положениями Oracle No-Fee.
Новое в версии Java SE Development Kit 17.0.8 LTS (18.07.2023)
Java 17 LTS – это последний выпуск долгосрочной поддержки для платформы Java SE.
Новое в Java SE 11 LTS
Подписчики Java SE будут получать обновления JDK 11 как минимум до сентября 2026 года.
Новое в версии Java SE Development Kit 11.0.19 (18.05.2023)
Новое в Java SE 8
Подписчики Java SE будут получать обновления JDK 8 как минимум до декабря 2030 года.
Новое в версии Java SE Runtime Environment 8u371 (18.04.2023)
Системные требования
Системные требования Java Runtime Environment 8
Windows
- Windows 11 (только 64 bit) 8u311 или более поздняя)
- Windows 10 (8u51 или более поздняя)
- Windows 8.x (настольная версия)
- Windows 7 с пакетом обновления 1 (SP1)
- Windows Vista SP2
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 SP
- Браузеры: Internet Explorer 9 и выше, Microsoft Edge, Firefox, Chrome
macOS
- macOS 12 (8u311 и выше)
- macOS 11 (8u281 и выше)
- OS X 10.9 и выше
- OS X 10.8.3 и выше
- Привилегии администратора для установки
- 64-битный браузер
- Для запуска Oracle Java на macOS требуется 64-битный браузер (например, Safari).
Для запуска Oracle Java для Mac OS X требуется 64-разрядный браузер (например, Safari или Firefox).
Linux
- Oracle Linux 8 (1) (8u221 и выше)
- Oracle Linux 7 (64-бит) (2) (8u20 и выше)
- Oracle Linux 6 (32-бит и 64-бит) (2)
- Oracle Linux 5.5+ (1)
- Red Hat Enterprise Linux 8 (8u221 и выше)
- Red Hat Enterprise Linux 7 (64-бит)(2) (8u20 и выше)
- Red Hat Enterprise Linux 6 (32-бит и 64-бит)(2)
- Red Hat Enterprise Linux 5.5+ (1)
- Suse Linux Enterprise Server 15 (8u201 и выше)
- Suse Linux Enterprise Server 12 (64-бит) (2) (8u31 и выше)
- Suse Linux Enterprise Server 11 (32-разрядный и 64-разрядный)
- Suse Linux Enterprise Server 10 SP2+ (32-бит и 64-бит)
- Ubuntu Linux 21.04 (8u291 и выше)
- Ubuntu Linux 20.10 (8u271 и выше)
- Ubuntu Linux 20.04 LTS (8u261 и выше)
- Ubuntu Linux 19.10 (8u241 и выше)
- Ubuntu Linux 19.04 (8u231 и выше)
- Ubuntu Linux 18.10 (8u191 и выше)
- Ubuntu Linux 18.04 LTS (8u171 и выше)
- Ubuntu Linux 17.10 (8u151 и выше)
- Ubuntu Linux 17.04 (8u131 и выше)
- Ubuntu Linux 16.10 (8u131 и выше)
- Ubuntu Linux 16.04 LTS (8u102 и выше)
- Ubuntu Linux 15.10 (8u65 и выше)
- Ubuntu Linux 15.04 (8u45 и выше)
- Ubuntu Linux 14.10 (8u25 и выше)
- Ubuntu Linux 14.04 LTS (8u25 и выше)
- Ubuntu Linux 13
- Ubuntu Linux 12.04 LTS
- (1) – Нет поддержки JavaFX
- (2) – Поддерживается только 64-битная JRE
Полезные ссылки
Также посмотрите
Подробное описание
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 работают приставки, принтеры, веб-камеры, игры, навигационные системы для автомобилей, терминалы для проведения лотерей, медицинские устройства, автоматы для оплаты парковки и многое другое.
What is Java Runtime Environment
![]()
In this tutorial, we will learn about one of the core components of Java i.e the what is Java Runtime Environment. We will cover its basic structure and understand why it is needed in Java. This tutorial will also cover the installation of JRE into your local computer.
What is the Java Runtime Environment (JRE)?
Any software that is executed needs an environment in which it can rest and operate. The primary environment in a computer is its operating system (OS). All the software generally runs on the OS. It is not efficient to always run everything on the OS directly.
Specifically for Java programs, there is a special environment that can run Java programs virtually on an OS, it is called the Java Runtime Environment (JRE). The Java Virtual Machine (JVM) which is the core part of Java responsible for executing Java programs also sits on the JRE. We can say JVM is a subset of JRE.
The JRE provides a virtual platform on which the JVM and other Java libraries rest on. These components of JRE are virtually isolated and used for executing Java programs. A system that doesn’t have JRE cannot run Java programs. We have to install JVM for executing Java programs and applications. Also, know that the JDK or Java Development Kit already has JRE within it. A system that has JDK installed doesn’t have to install JRE separately.
What does JRE do?
Executing a Java program is easy. But the underlying architecture of the JRE defines what is needed for it to be executed. The JRE contains all the libraries and core classes that are needed to execute a Java program. Whenever we execute a Java program, the JRE combines the needed classes and other libraries with the JVM that is required for that program. The JVM then loads these classes and libraries and creates a virtual environment to execute the code.
Why use JRE when we have JDK?
JDK is a development kit that has all the tools and utilities that can be used to create Java programs and applications. These tools are basically for developers for developing and debugging purposes. If you are a developer then you need JDK to develop Java applications.
But if you are a user who just needs to use/execute Java applications that are already built by a developer, then you just have to install JRE on your computer which only includes components that are required to execute Java applications. This will prevent you from installing unnecessary tools that are developer-specific and not required.
How to install JRE?
The installation of JRE is similar to installing JDK. In this tutorial, we will be covering the Windows operating system.
If you are interested to learn how to install java JRE so kindly visit it.
Что такое среда выполнения для 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. Кроме того, приводятся образцы запросов, ответов и список ошибок для поддерживаемых сетевых протоколов.