Разработчики: | Oracle |
Дата последнего релиза: | 2021/03/23 |
Технологии: | Средства разработки приложений |
Содержание |
Oracle Java Development Kit - бесплатный комплект разработчика приложений на языке Java. Распространяется корпорацией Oracle.
В составе комплекта компилятор Java (javac), стандартные библиотеки классов Java, примеры, документация, утилиты и окружение Java (JRE). В составе JDK нет среды разработки.
Появившись в девяностых годах, Java-плагин был призван наделить веб-страницы функциональностью приложений с помощью обработки Java-апплетов. Однако с появлением HTML5 и других современных средств веб-разработки, потребность в использовании апплетов постепенно отпала.
2021: Oracle JDK 16
23 марта 2021 года компания Oracle объявила о выходе релиза платформы Java 16 (Oracle JDK 16), включающего 17 усовершенствований. В обновленном релизе Java Development Kit (JDK) финализированы функции Паттерн-матчинга для оператора InstanceOf (JEP 394) и Записи (JEP 395), синтаксические улучшения, впервые представленные как превью в Java 14. Кроме того, с выходом данного релиза разработчики могут использовать инструмент упаковки (JEP 392) для создания самодостаточных Java-приложений. Доступны для изучения три инкубационных модуля: инструментарий для преобразования векторных вычислений Vector API (JEP 338), инструментарий для статического доступа к нативному коду из Java Foreign Linker API (JEP 389) и API для доступа вне кучи Java (JEP 393), а также «Запечатанные» классы, которые появились в Java 16 в режиме второго превью (JEP 397).
По информации компании, Oracle выпускает релизы Java каждые шесть месяцев, чтобы предоставить разработчикам четкий график. Обновления раз в полгода предоставляют воз доступа к постоянному потоку инноваций и обеспечивает непрерывную оптимизацию продуктивности, стабильности и безопасности.
С выпуском релиза мы еще раз убедились в том, что график выхода обновлений раз в полгода удобен и эффективен. Паттерн-матчинг для оператора InstanceOf и Записи были впервые представлены в релизе JDK 14 и с тех пор прошли несколько раундов тестирования и практического применения с обратной связью от сообщества. Этот процесс не только дал разработчикам Java возможность поэкспериментировать с функциями до финализации, но и дал возможность услышать критику. В результате были созданы два стабильных JEPа, которые действительно отвечают потребностям сообщества. отметил Жорж Сааб, вице-президент по разработке Java Platform Group, Oracle |
Релиз Java 16 является результатом процесса разработки, открытого для критики и пожеланий со стороны сообщества. В процессе подготовки выходили регулярные обзоры и еженедельные промежуточные сборки. Интенсивное сотрудничество между разработчиками из Oracle и участниками сообщества из разных стран мира осуществлялось через OpenJDK Community и Java Community Process. Краткий перечень функционала, доступного в релизе Java 16:
- Оптимизация языка, впервые представленные в JDK 14 и финализированные в JDK 16
- JEP 394: Pattern Matching for instanceof – Оптимизирует язык программирования Java за счет возможности паттерн-матчинга для оператора InstanceOf.
- JEP 395: Records – Расширяет язык программирования Java с помощью записей, которые представляют собой классы, действующие как прозрачные носители неизменяемых данных. Записи можно рассматривать как номинальные кортежи.
- Инструмент для оптимизации продуктивности разработки JEP 392: Packaging Tool – Предоставляет инструмент jpackage для упаковки самодостаточных Java приложений.
- Оптимизированное управление памятью для оптимизации производительности JEP 387: Elastic Metaspace – Более оперативно возвращает неиспользуемую память метаданных класса HotSpot (metaspace) в операционную систему, сокращает объем метапространства и упрощает код метапространства, чтобы снизить затраты на обслуживание.
- JEP 376: ZGC: Concurrent Thread-Stack Processing – Перемещает обработку стека потоков ZGC из safepoints в параллельную фазу. Это позволяет исключить последнее значимое узкое место для обеспечения одновременной обработки стека.
- Оптимизированный нетворкинг для оптимизации производительности и гибкости разработчиков
- JEP 380: UNIX-Domain Socket Channels – В релизе добавлена поддержка сокетов доменов Unix в socket channel и server-socket channel API пакета java.nio.channels. Такие сокеты используются для межпроцессного взаимодействия внутри одного хоста, и в них не используются сетевые соединения, что делает такое взаимодействие более безопасным и эффективным. Они во многом похожи на сокеты TCP/IP, за исключением того, что к ним обращаются по путям файловой системы, а не по адресам Интернет-протокола (IP) и номерам портов.
- Решение проблемы несовместимости с будущими релизами
- JEP 396: Strongly Encapsulate JDK Internals by Default – I В JDK 9 инкапсулировали внутренние элементы API, тем самым ограничив доступ к ним. Однако для облегчения перехода, на момент выхода JDK 9 было принято решение не инкапсулировать так же строго во время выполнения содержимое пакетов, как это требовалось в JDK 8. В JDK 16 ограничение снова ужесточено, большинство внутренних элементов JDK инкапсулировано по умолчанию, за исключением критически важных внутренних API-интерфейсов, например, sun.misc.Unsafe. Конечные пользователи по-прежнему могут выбрать упрощенную сильную инкапсуляцию, которая используется по умолчанию с момента выхода JDK 9. Это побудит разработчиков перейти от использования внутренних элементов к использованию стандартных API, чтобы и они, и пользователи могли без проблем перейти на будущие версии Java.
- JEP 390: Warnings for Value-Based Classes – Классы-обертки примитивных типов теперь относятся к категории value-based классов, и их конструкторы, которые ранее стали deprecated в Java 9, теперь помечены как deprecated for removal. Предоставляет предупреждения о неправильных попытках синхронизации экземпляров любых value-based классов в платформе Java.
- Инкубационные модули и превью
- JEP 338: Vector API (Incubator) – Представляет собой начальную итерацию модуля инкубатора jdk.incubator.vector для преобразования векторных вычислений, которые компилируются во время выполнения, в оптимальные векторные аппаратные инструкции на поддерживаемых CPU архитектурах.
- JEP 389: Foreign Linker API (Incubator) – API, предлагающий статический, более простой доступ из Java к нативному коду.
- JEP 393: Foreign-Memory Access API (Third Incubator) – API, позволяющий программам Java безопасно и эффективно обращаться к внешней памяти за пределами кучи Java.
- JEP 397: Sealed Classes (Second Preview) – оптимизирует язык программирования Java с помощью запечатанных классов и интерфейсов. Запечатанные классы и интерфейсы ограничивают возможность другим классам или интерфейсам расширять или реализовывать их.
- Оптимизация по пожеланиям участников сообщества OpenJDK
- JEP 347: Enable C++14 Language Features (in the JDK source code) – Позволяет использовать функции стандарта языка C++14 в исходном коде JDK C++ и дает конкретные рекомендации о том, какие из этих функций могут использоваться в коде HotSpot.
- JEP 357: Migrate from Mercurial to Git – Переносит репозитории исходного кода сообщества OpenJDK с Mercurial (hg) на Git.
- JEP 369: Migrate to GitHub – Размещает Git репозитории сообщества OpenJDK на GitHub.
- Порты, обеспечивающие поддержку Java на других платформах
- JEP 386: Alpine Linux Port – Портирует JDK на Alpine Linux и другие дистрибутивы Linux, которые используют musl в качестве основной библиотеки C, как для архитектуры x64, так и для архитектуры AArch64.
- JEP 388: Windows/Aarch64 Port – Портирует JDK на Windows/AArch64.
Вместо того, чтобы каждые три или четыре года интересоваться тем, какие обновления появились в Java, я живу в другом, предложенном мне Oracle ритме, который позволяет оставаться активным разработчиком, преподавателем и инструктором. Я с интересом ожидал возможности пользоваться синтаксической конструкцией "Записи", чтобы оптимизировать производительность и читаемость моего кода обработки данных, после того как потестировал эту функцию в превью. И в данном релизе функция стала доступной для работы. отметил Хосе Помар, доцент Университета Сорбонна Париж Нор, и один из организаторов группы Paris Java User |
2016: Oracle отказывается от разработки Java-плагина
Корпорация Oracle объявила о постепенном отказе от использования Java-плагина для браузеров. Он будет исключен из компонентов Java Development Kit и Java Runtime Environment будущих выпусков Java SE, начиная с сентября 2016 г.
Разработчики приложений, которые можно запускать только с помощью Java-плагина, могут воспользоваться альтернативой в лице технологии Java Web Start, которая не требует установки модулей, сообщили представители корпорации.
2015: Oracle выпустила Java Development Kit 8, Update 40
12 марта 2015 года корпорация Oracle объявила о выпуске Java Development Kit (JDK) 8, Update 40 (JDK 8u40).
Скриншот окна продукта, 2015
JDK 8u40 вносит усовершенствования в производительность, масштабируемость и администрирование, помогая разработчикам Java-приложений, партнерам и руководителям, несущим ответственность за принятие ИТ-решений, проще и быстрее внедрять инновации и улучшать приложения. В состав этой версии вошли обновления JavaFX.
2013: JDK 7 Update 40
10 сентября 2013 года корпорация Oracle объявила о выпуске JDK 7 Update 40 (JDK 7u40), который обеспечивает расширенный функционал мониторинга и диагностики, повышенную производительность и эффективность работы ПО Java на серверах с процессорной архитектурой ARM.
Доступные дополнения
Oracle Java Mission Control и Oracle Java Flight Recorder теперь доступны в виде коммерческих функций в продукте Oracle Java SE Advanced (эти опции можно загрузить бесплатно для пробного использования в составе пакета JDK 7u40, однако при использовании в промышленных масштабах на основе лицензионного соглашения Oracle Binary Code License Agreement необходимо приобрести лицензию Oracle Java SE Advanced).TAdviser Security 100: Крупнейшие ИБ-компании в России
Контроль приложений и версий
В JDK 7u40 реализована новая функция Deployment Rule Set. С её помощью системный администратор контролирует - какие апплеты или приложения Java Web Start выполняются пользователем, какая версия Java Runtime Environment (JRE) с ними связана. Deployment Rule Set предоставляет единую среду для контролируемого и безопасного управления доступом пользователей.
Поддержка мобильной архитектуры
Пакет JDK 7u40 сертифицирован для процессорной архитектуры ARM v7 и включает новую поддержку вычислительных операций с плавающей точкой (hard float), что позволяет улучшить производительность и быстроту реагирования для приложений с графическим интерфейсом пользователя и серверных приложений Java, выполняемых на ARM-серверах.
Графические функции
В версии JDK 7u40 реализована поддержка для дисплеев Retina, которыми оснащаются устройства с ОС Mac OS X. ПО Java будет теперь распознавать экраны Retina и автоматически генерировать графику высокого разрешения.
Смотрите также
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (393)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
КРИТ (KRIT) (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (607, 308)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Сбербанк (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
РЖД-Технологии (1, 3)
Другие (14, 24)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 4)
Мобильные ТелеСистемы (МТС) (2, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Сбербанк-Технологии (СберТех) (1, 1)
Другие (14, 14)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
EXpress Защищенный корпоративный мессенджер - 12
Другие 328
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Siemens Xcelerator - 2
Парадокс: MES Builder - 2
Турбо X - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
BSS Digital2Go - 3
Форсайт. Мобильная платформа (ранее HyperHive) - 3
Cloud ML Space - 2
Nexign Microservices Framework - 1
Другие 8