История версий Java
Язык Java претерпел несколько изменений со времени JDK 1.0, а также многочисленные добавления классов и пакетов в стандартную библиотеку . Начиная с J2SE 1.4, эволюция языка Java регулируется Процессом сообщества Java (JCP), который использует запросы спецификации Java (JSR) для предложения и указания дополнений и изменений в платформе Java . Язык определяется Спецификацией языка Java (JLS); изменения в JLS управляются согласно JSR 901 . В сентябре 2017 года Марк Рейнхольд, главный архитектор платформы Java, предложил изменить график выпусков на «один выпуск функции каждые шесть месяцев» вместо нынешнего двухлетнего графика. [ 1 ] [ 2 ] Это предложение вступило в силу для всех последующих версий и по-прежнему является текущим графиком выпуска.
Помимо языковых изменений, за прошедшие годы в библиотеку классов Java были внесены и другие изменения , которые выросли с нескольких сотен классов в JDK 1.0 до более трех тысяч в J2SE 5. Совершенно новые API , такие как Swing и Java2D , были введены, многие из исходных классов и методов JDK 1.0 устарели , и очень немногие API были удалены (по крайней мере один, для многопоточности, в Java 22). [ 3 ] ). Некоторые программы позволяют конвертировать программы Java из одной версии платформы Java в более старую (например, Java 5.0, перенесенную на версию 1.4) (см. Инструменты резервного копирования Java ).
Oracle Java SE , Что касается плана поддержки [ 4 ] версия 22 является последней, а версии 21, 17, 11 и 8 являются поддерживаемыми в настоящее время версиями долгосрочной поддержки (LTS), в которых клиенты Oracle получат поддержку Oracle Premier Support. Oracle продолжает выпускать бесплатные общедоступные обновления Java 8 для разработки [ 4 ] и личное использование на неопределенный срок. Oracle также продолжает выпускать бесплатные общедоступные обновления Java 17 LTS для всех пользователей, включая коммерческое и производственное использование, до сентября 2024 года. [ 5 ]
В случае OpenJDK как коммерческая долгосрочная поддержка, так и бесплатные обновления программного обеспечения доступны от нескольких организаций в более широком сообществе . [ 6 ]
Java 22 была выпущена 19 марта 2024 года.
Таблица релизов
[ редактировать ]Версия | Тип | формата файла класса Версия [ 7 ] | Дата выпуска | Окончание общедоступных обновлений (бесплатно) | Окончание расширенной поддержки (платной) |
---|---|---|---|---|---|
JDK 1.0. | 44 | 23 января 1996 г. | май 1996 г. | — | |
JDK 1.1. | 45 | 18 февраля 1997 г. | Октябрь 2002 г. | — | |
J2SE 1.2. | 46 | 4 декабря 1998 г. | ноябрь 2003 г. | — | |
J2SE 1.3. | 47 | 8 мая 2000 г. | март 2006 г. | — | |
J2SE 1.4. | 48 | 13 февраля 2002 г. | октябрь 2008 г. | — | |
J2SE 5.0. | 49 | 30 сентября 2004 г. | октябрь 2009 г. | — | |
Java SE 6. | 50 | 11 декабря 2006 г. | апрель 2013 г. | Декабрь 2016 г. для Red Hat [ 8 ] Октябрь 2018 г. для Oracle [ 9 ] Март 2026 г. для BellSoft Liberica [ 10 ] Декабрь 2027 г. для Синего [ 11 ] | |
Java SE 7. | 51 | 28 июля 2011 г. | июль 2015 г. | Июнь 2020 г. для Red Hat [ 8 ] Июль 2022 г. для Oracle [ 12 ] Март 2026 г. для BellSoft Liberica [ 10 ] Декабрь 2027 г. для Синего [ 11 ] | |
Java SE 8. | LTS | 52 | 18 марта 2014 г. | Апрель 2019 г. для Oracle Ноябрь 2026 года для Затмения Темурина [ 13 ] Ноябрь 2026 г. для Red Hat [ 8 ] Июль 2026 г. для Amazon Правильно [ 14 ] Декабрь 2030 г. для Синего [ 11 ] Март 2031 г. для BellSoft Liberica [ 10 ] |
Декабрь 2030 г. для Oracle [ 4 ] |
Java SE 9. | 53 | 21 сентября 2017 г. | март 2018 г. | — | |
Java SE 10. | 54 | 20 марта 2018 г. | Сентябрь 2018 г. | — | |
Java SE 11. | LTS | 55 | 25 сентября 2018 г. | Апрель 2019 г. для Oracle Октябрь 2024 г. для Red Hat [ 8 ] Март 2027 г. для BellSoft Liberica [ 10 ] Октябрь 2027 года для Затмения Темурина [ 13 ] Октябрь 2027 г. для Amazon Правильно [ 14 ] Январь 2032 г. для Азула [ 11 ] |
Январь 2032 г. для Oracle [ 4 ] |
Java SE 12. | 56 | 19 марта 2019 г. | сентябрь 2019 г. | — | |
Java SE 13. | 57 | 17 сентября 2019 г. | март 2020 г. | — | |
Java SE 14. | 58 | 17 марта 2020 г. | сентябрь 2020 г. | — | |
Java SE 15. | 59 | 16 сентября 2020 г. | март 2021 г. | — | |
Java SE 16. | 60 | 16 марта 2021 г. | сентябрь 2021 г. | — | |
Java SE 17. | LTS | 61 | 14 сентября 2021 г. | Сентябрь 2024 г. для Oracle [ 4 ] Октябрь 2027 года для Затмения Темурина [ 13 ] Октябрь 2027 г. для Red Hat [ 8 ] Октябрь 2029 г. для Amazon Правильно [ 14 ] Сентябрь 2029 г. для Азула [ 11 ] Март 2030 г. для BellSoft Liberica [ 10 ] |
Сентябрь 2029 г. для Oracle [ 4 ] |
Java SE 18. | 62 | 22 марта 2022 г. | сентябрь 2022 г. | — | |
Java SE 19. | 63 | 20 сентября 2022 г. | март 2023 г. | — | |
Java SE 20. | 64 | 21 марта 2023 г. | сентябрь 2023 г. | — | |
Java SE 21. | LTS | 65 | 19 сентября 2023 г. | Сентябрь 2026 г. для Oracle [ 4 ] Декабрь 2029 г. для Red Hat [ 8 ] Декабрь 2029 года для Затмения Темурина [ 13 ] Октябрь 2030 г. для Amazon Правильно [ 14 ] Сентябрь 2031 г. для Азула [ 11 ] Март 2032 г. для BellSoft Liberica [ 10 ] |
Сентябрь 2031 г. для Oracle [ 4 ] |
Java SE 22. | 66 | 19 марта 2024 г. | Сентябрь 2024 г. | — | |
Java SE 23. | 67 | Сентябрь 2024 г. | март 2025 г. | — | |
Java SE 24. | 68 | март 2025 г. | Сентябрь 2025 г. | — | |
Java SE 25. | LTS | 69 | Сентябрь 2025 г. | Сентябрь 2028 г. для Oracle [ 4 ] | Сентябрь 2033 г. для Oracle [ 4 ] |
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Будущий выпуск |
JDK 1.0
[ редактировать ]Выпущенный | 23 января 1996 г. |
---|
Первая версия была выпущена 23 января 1996 года. [ 15 ] [ 16 ] Первая стабильная версия JDK 1.0.2 называется Java 1. [ 16 ]
JDK 1.1
[ редактировать ]Выпущенный | 19 февраля 1997 г. |
---|
Основные дополнения к выпуску от 19 февраля 1997 г. включали: [ 17 ]
- обширное переоснащение модели событий Abstract Window Toolkit (AWT).
- внутренние классы добавлены в язык
- JavaBeans
- Подключение к базе данных Java (JDBC)
- Удаленный вызов методов Java (RMI) и сериализация
- отражения , которое поддерживало только интроспекцию, никакие изменения во время выполнения были невозможны. (Возможность рефлексивного изменения объектов была добавлена в J2SE 1.2 путем введения класса AccessibleObject и его подклассов, таких как класс Field .)
- Компиляция «точно в срок» (JIT) на платформах Microsoft Windows , созданная Symantec для JavaSoft.
- Поддержка интернационализации и Unicode от Taligent [ 18 ]
J2SE 1.2
[ редактировать ]Кодовое имя | Детская площадка |
---|---|
Выпущенный | 8 декабря 1998 г. |
Выпуск от 8 декабря 1998 года и последующие выпуски J2SE 5.0 были ретроспективно переименованы в Java 2 , а название версии «J2SE» ( платформа Java 2, Standard Edition ) заменило JDK, чтобы отличить базовую платформу от J2EE ( платформа Java 2, Enterprise Edition ). и J2ME ( платформа Java 2, Micro Edition ). Это был очень важный выпуск Java, поскольку он утроил размер платформы Java до 1520 классов в 59 пакетах. Основные дополнения включали: [ 19 ]
strictfp
ключевое слово (в JVM 17 устаревшее ключевое слово, не следует использовать в новом коде)- Графический API Swing был интегрирован в основные классы.
- была оснащена JIT-компилятором . JVM компании Sun впервые
- Java-плагин
- Java IDL , реализация IDL для CORBA. совместимости
- коллекций Структура
J2SE 1.3
[ редактировать ]Кодовое имя | Пустельга |
---|---|
Выпущенный | 8 мая 2000 г. |
Наиболее заметными изменениями в выпуске от 8 мая 2000 г. были: [ 20 ] [ 21 ]
- Включена HotSpot JVM (HotSpot JVM была впервые выпущена в апреле 1999 года для J2SE 1.2 JVM)
- RMI был модифицирован для поддержки дополнительной совместимости с CORBA .
- Интерфейс именования и каталогов Java (JNDI), включенный в основные библиотеки (ранее доступный как расширение)
- Архитектура отладчика платформы Java (JPDA)
- JavaSound
- Синтетические прокси-классы
Java 1.3 — последняя версия Java, официально поддерживающая Microsoft Windows 95 . [ 22 ]
J2SE 1.4
[ редактировать ]Кодовое имя | Мерлин |
---|---|
Выпущенный | 6 февраля 2002 г. |
Поддержка прекращена | |
Общественный | Октябрь 2008 г. |
Оплаченный | февраль 2013 г. |
Выпуск от 6 февраля 2002 года стал первым выпуском платформы Java, разработанной в рамках процесса сообщества Java под названием JSR 59 . Основные изменения включали: [ 23 ] [ 24 ]
- Языковые изменения
- Улучшения библиотеки
- Регулярные выражения, созданные по образцу Perl. регулярных выражений
- Цепочка исключений позволяет исключению инкапсулировать исходное исключение нижнего уровня.
- Интернет-протокола версии 6 ( IPv6 ) Поддержка
- Неблокирующий ввод-вывод (названный NIO) (указан в JSR 51 )
- API ведения журнала (указан в JSR 47 )
- API ввода-вывода изображений для чтения и записи изображений в таких форматах, как JPEG и PNG.
- Встроенный синтаксический анализатор XML и XSLT процессор ( JAXP ) (указан в JSR 5 и JSR 63 ).
- Интегрированные расширения безопасности и криптографии ( JCE , JSSE , JAAS )
- Включен Java Web Start (Java Web Start был впервые выпущен в марте 2001 года для J2SE 1.3) (указан в JSR 56 )
- API настроек (
java.util.prefs
)
Публичная поддержка и обновления безопасности для Java 1.4 закончились в октябре 2008 года. Платные обновления безопасности для клиентов Oracle закончились в феврале 2013 года. [ 25 ]
Ява ЮВ 5
[ редактировать ]Кодовое имя | Тигр |
---|---|
Выпущенный | 30 сентября 2004 г. |
Поддержка прекращена | |
Общественный | Ноябрь 2009 г. |
Оплаченный | апрель 2015 г. |
Выпуск от 30 сентября 2004 г. первоначально имел номер 1.5, который до сих пор используется в качестве внутреннего номера версии. Число было изменено, чтобы «лучше отражать уровень зрелости, стабильности, масштабируемости и безопасности J2SE». [ 26 ] Эта версия была разработана под номером JSR 176 .
Период окончания общедоступных обновлений Java SE 5 вступил в силу 8 апреля 2008 г.; обновления больше не доступны для общественности с 3 ноября 2009 г. Обновления были доступны платным клиентам Oracle до мая 2015 г. [ 4 ]
Tiger добавил ряд важных новых языковых функций: [ 27 ] [ 28 ]
- Generics во время компиляции : обеспечивает (статическую) безопасность типов для коллекций и устраняет необходимость в большинстве приведения типов (преобразование типов) (определено JSR 14 ).
- Метаданные : также называемые аннотациями ; позволяет помечать языковые конструкции, такие как классы и методы, дополнительными данными, которые затем могут обрабатываться утилитами, поддерживающими метаданные (указанными в JSR 175 ).
- Автоупаковка /распаковка: автоматическое преобразование между примитивными типами (такими как
int
) и примитивные классы-оболочки (например,Integer
) (определено в JSR 201 ) - Перечисления :
enum
Ключевое слово создает типобезопасный упорядоченный список значений (например,Day.MONDAY
,Day.TUESDAY
, и т. д.); ранее этого можно было достичь только с помощью нетипобезопасных целых чисел или вручную созданных классов (типобезопасный шаблон перечисления) (определенный JSR 201 ) - Varargs : последний параметр метода теперь можно объявить, используя имя типа, за которым следуют три точки (например,
void drawtext(String... lines)
); в вызывающем коде можно использовать любое количество параметров этого типа, а затем они помещаются в массив для передачи методу, или, альтернативно, вызывающий код может передавать массив этого типа - Улучшенный
for each
цикл:for
Синтаксис цикла расширен специальным синтаксисом для перебора каждого элемента массива или любого другого элемента.Iterable
, например, стандартныйCollection
классы (указанные в JSR 201 ) - Улучшена семантика выполнения многопоточных Java-программ; новая модель памяти Java решает проблемы сложности, эффективности и производительности предыдущих спецификаций. [ 29 ]
- Статический импорт
Также были внесены следующие улучшения в стандартные библиотеки:
- Автоматическое создание заглушек для RMI объектов
- Swing : новый возможностью изменения скинов внешний вид с , называемый синтезатором.
- Утилиты параллелизма в пакете
java.util.concurrent
[ 30 ] - Класс сканера для анализа данных из различных входных потоков и буферов.
Java 5 — последняя версия Java, официально поддерживающая Microsoft Windows 98 и Windows ME . [ 31 ] в то время как Windows Vista была новейшей версией Windows, в которой поддерживалась Java SE 5 до прекращения поддержки Java 5 в октябре 2009 года. [ 25 ]
Java 5 Update 5 (1.5.0_05) — последняя версия Java, работающая в Windows 95 (с установленным Internet Explorer 5.5 ) и Windows NT 4.0 . [ 32 ]
Java 5 впервые была доступна в Apple Mac OS X 10.4 (Tiger). [ 33 ] и была версией Java по умолчанию, установленной в Apple Mac OS X 10.5 (Leopard).
Публичная поддержка и обновления безопасности для Java 1.5 закончились в ноябре 2009 года. Платные обновления безопасности для клиентов Oracle закончились в апреле 2015 года.
Изменение версий
[ редактировать ]В этой версии представлена новая система управления версиями для языка Java, хотя старая система управления версиями продолжает использоваться для библиотек разработчиков:
Оба номера версий «1.5.0» и «5.0» используются для идентификации этого выпуска стандартной версии платформы Java 2. Версия «5.0» — это версия продукта, а «1.5.0» — версия для разработчиков. Число «5.0» используется для лучшего отражения уровня зрелости, стабильности, масштабируемости и безопасности J2SE.
- «Версия 1.5.0 или 5.0?», примечания к выпуску Java. [ 34 ]
Эта переписка продолжалась и в более поздних выпусках (Java 6 = JDK 1.6, Java 7 = JDK 1.7 и т. д.).
Ява ЮВ 6
[ редактировать ]Кодовое имя | Мустанг |
---|---|
Выпущенный | 11 ноября 2006 г. |
Поддержка прекращена | |
Общественный | февраль 2013 г. |
В версии, выпущенной 11 декабря 2006 г., Sun заменила название «J2SE» на Java SE и исключила «.0» из номера версии. [ 35 ] Внутренняя нумерация для разработчиков остается 1.6.0. [ 36 ]
Эта версия была разработана под JSR 270 .
На этапе разработки новые сборки, включая улучшения и исправления ошибок, выпускались примерно еженедельно. Бета-версии были выпущены в феврале и июне 2006 года, а финальный выпуск состоялся 11 декабря 2006 года.
Основные изменения, включенные в эту версию: [ 37 ] [ 38 ]
- Поддержка старых версий Win9x прекращена; неофициально, Java 6 Update 7 была последней версией Java, которая работала в этих версиях Windows. [ нужна ссылка ] Это считается [ кем? ] Это связано с серьезными изменениями в обновлении 10.
- Поддержка языка сценариев ( JSR 223 ): универсальный API для тесной интеграции с языками сценариев и встроенная интеграция Mozilla JavaScript Rhino .
- Значительное улучшение производительности базовой платформы, [ 39 ] [ 40 ] и свинг .
- Улучшена поддержка веб-служб через JAX-WS ( JSR 224 ).
- JDBC Поддержка 4.0 ( JSR 221 ).
- API компилятора Java ( JSR 199 ): API, позволяющий программе Java программно выбирать и вызывать компилятор Java.
- Обновление JAXB до версии 2.0: включая интеграцию парсера StAX .
- Поддержка подключаемых аннотаций ( JSR 269 ). [ 41 ]
- Многие улучшения графического интерфейса , такие как интеграция SwingWorker в API, сортировка и фильтрация таблиц, а также настоящая двойная буферизация Swing (устранение эффекта серой зоны).
- Улучшения JVM включают в себя: оптимизацию синхронизации и производительности компилятора , новые алгоритмы и обновления существующих алгоритмов сборки мусора , а также повышение производительности при запуске приложений.
Java 6 можно установить в Mac OS X 10.5 (Leopard), работающую на компьютерах с 64-разрядными процессорами (Core 2 Duo и выше). [ 42 ] Java 6 также поддерживается как 32-битными, так и 64-битными компьютерами под управлением Mac OS X 10.6 (Snow Leopard).
Срок поддержки Java 6 закончился в феврале 2013 года, когда все общедоступные обновления, включая обновления безопасности, должны были быть остановлены. [ 43 ] [ 44 ] В марте и апреле 2013 года Oracle выпустила еще два обновления для Java 6, которые исправили некоторые уязвимости безопасности. [ 45 ] [ 46 ]
Обновления Java 6
[ редактировать ]После выпуска Java 6 компания Sun, а затем и Oracle, выпустила несколько обновлений, которые, не меняя общедоступных API, повысили удобство использования конечными пользователями или исправили ошибки. [ 47 ]
Ява ЮВ 7
[ редактировать ]Кодовое имя | Дельфин [ 84 ] |
---|---|
Выпущенный | 28 июля 2011 г. |
Поддержка прекращена | |
Общественный | апрель 2015 г. |
Оплаченный | июнь 2022 г. |
Java 7 — крупное обновление, выпущенное 7 июля 2011 г. [ 85 ] и был доступен для разработчиков 28 июля 2011 г. [ 86 ] Период разработки был разделен на тринадцать этапов; 6 июня 2011 г. был завершен последний из тринадцати этапов. [ 86 ] [ 87 ] В среднем на каждом этапе выпускалось 8 сборок (которые обычно включали улучшения и исправления ошибок). В списке функций проекта OpenJDK 7 перечислены многие изменения.
Дополнения в Java 7 включают: [ 88 ]
- JVM Поддержка для динамических языков с новым
invokedynamic
байт-код под JSR-292, [ 89 ] после работы по прототипированию, выполняемой в настоящее время на многоязычной виртуальной машине - Сжатые 64-битные указатели [ 90 ] (доступно в Java 6 с
-XX:+UseCompressedOops
) [ 91 ] - Эти небольшие изменения языка (сгруппированные в рамках проекта Coin): [ 92 ]
- Струны в переключателе [ 93 ]
- Автоматическое управление ресурсами в операторе try, также известном как оператор try-with-resources. [ 94 ]
- Улучшенный вывод типа для создания общего экземпляра, также известного как оператор алмаза.
<>
[ 95 ] - Упрощенное объявление метода varargs [ 96 ]
- Двоичные целочисленные литералы [ 97 ]
- Разрешение подчеркивания в числовых литералах [ 98 ]
- Перехват нескольких типов исключений и повторное создание исключений с улучшенной проверкой типов [ 99 ]
- Утилиты параллелизма в соответствии с JSR 166 [ 100 ]
- Новая библиотека файлового ввода-вывода (определенная JSR 203), добавляющая поддержку нескольких файловых систем, метаданных файлов и символических ссылок. Новые пакеты
java.nio.file
,java.nio.file.attribute
иjava.nio.file.spi
[ 101 ] [ 102 ] - Timsort используется для сортировки коллекций и массивов объектов вместо сортировки слиянием.
- Поддержка на уровне библиотеки шифрования эллиптических кривых. алгоритмов
- Конвейер XRender для Java 2D, который улучшает обработку функций, характерных для современных графических процессоров.
- Новые API платформы для графических функций, первоначально реализованные в версии 6u10 как неподдерживаемые API. [ 103 ]
- Расширенная поддержка на уровне библиотеки новых сетевых протоколов, включая SCTP и Sockets Direct Protocol.
- Восходящие обновления XML и Unicode
- Наборы правил развертывания Java [ 104 ]
в Java Lambda (реализация лямбда-функций в Java ), Jigsaw (реализация модулей ) и часть Coin были исключены из Java 7 и выпущены как часть Java 8 (за исключением Jigsaw , которая была выпущена в Java 9). [ 105 ] [ 106 ]
Java 7 была версией по умолчанию для загрузки на java.com с апреля 2012 года до выпуска Java 8. [ 107 ]
Обновления Java 7
[ редактировать ]Oracle выпускает общедоступные обновления семейства Java 7 ежеквартально. [ 108 ] до апреля 2015 года, когда общедоступная доступность продукта подошла к концу. [ 109 ] Дальнейшие обновления для JDK 7, которые продолжались до июля 2022 года, доступны только клиентам, заключившим контракт на поддержку. [ 110 ]
Ява ЮВ 8
[ редактировать ]LTS- версия | |
Выпущенный | 18 марта 2014 г. |
---|---|
№ JEP p | 8 |
Java 8 была выпущена 18 марта 2014 г. [ 146 ] [ 147 ] и включал некоторые функции, которые были запланированы для Java 7, но позже были отложены. [ 148 ]
Работа над функциями была организована в рамках предложений по улучшению JDK (JEP). [ 149 ]
- на уровне языка JSR 335, JEP 126: поддержка лямбда-выражений (официально — лямбда-выражения; неофициально — замыкания ) в рамках Project Lambda. [ 150 ] и методы по умолчанию ( методы виртуального расширения ) [ 151 ] [ 152 ] [ 153 ] который можно использовать для добавления методов в интерфейсы, не нарушая существующие реализации. В сообществе Java продолжались дебаты о том, добавлять ли поддержку лямбда-выражений. [ 154 ] [ 155 ] Позже Sun заявила, что лямбда-выражения будут включены в Java, и попросила сообщество внести свой вклад в усовершенствование этой функции. [ 156 ] Поддержка лямбда-выражений также позволяет выполнять функциональные операции с потоками элементов, такие как преобразования на основе MapReduce для коллекций. Методы по умолчанию могут использоваться автором API для добавления новых методов в интерфейс, не нарушая при этом старый код. Хотя это не было их основной целью, [ 151 ] методы по умолчанию также можно использовать для множественного наследования поведения (но не состояния).
- JEP 174: Project Nashorn , среда выполнения JavaScript, которая может запускать код JavaScript, встроенный в приложения.
- JEP 104: Аннотация к типам Java
- Целочисленная арифметика без знака [ 157 ]
- JEP 120: Повторяющиеся аннотации
- JEP 150: API даты и времени
- JEP 178: Статически связанные библиотеки JNI.
- JEP 153: Запуск приложений JavaFX (прямой запуск JAR-файлов приложений JavaFX)
- JEP 122: Удалить постоянное поколение
Java 8 не поддерживается в Windows XP [ 158 ] но начиная с обновления 25 JDK 8 его все еще можно установить и запустить под Windows XP. [ 159 ] Предыдущие обновления JDK 8 можно было запустить под XP, загрузив заархивированный файл в формате zip и разархивировав его для создания исполняемого файла. Последняя версия Java 8, которая может работать на XP, — это обновление 251.
С октября 2014 года Java 8 была версией по умолчанию для загрузки (а затем снова загрузкой, заменяющей Java 9) с официального сайта. [ 160 ] «Oracle продолжит предоставлять общедоступные обновления и автоматические обновления Java SE 8 на неопределенный срок для личных пользователей». [ 161 ]
Обновления Java 8
[ редактировать ]
Ява ЮВ 9
[ редактировать ]Выпущенный | 21 сентября 2017 г. |
---|---|
№ JEP p | 9 |
Поддержка прекращена | |
Общественный | март 2018 г. |
Java SE 9 стала доступна 21 сентября 2017 г. [ 239 ] из-за неоднозначного принятия текущей реализации Project Jigsaw Исполнительным комитетом Java [ 240 ] что побудило Oracle исправить некоторые открытые проблемы и проблемы, а также уточнить некоторые важные технические вопросы. В последние дни июня 2017 года Java Community Process выразила почти единогласное мнение по предложенной схеме модульной системы. [ 241 ]
- JSR 376: Модуляция JDK в рамках Project Jigsaw ( Система модулей платформы Java ) [ 106 ]
- JavaDB была удалена из JDK. [ 242 ]
- JEP 193: Дескрипторы переменных определяют стандартные средства вызова эквивалентов различных
java.util.concurrent.atomic
иsun.misc.Unsafe
операции - JEP 213: Milling Project Coin , разрешить @SafeVarargs для методов частного экземпляра; Разрешить использование переменных effect-final в качестве ресурсов в операторе try-with-resources; Разрешить ромб с анонимными классами, если тип аргумента выведенного типа является обозначаемым; Завершить удаление подчеркивания из набора допустимых имен идентификаторов, начатое в Java SE 8; Поддержка частных методов в интерфейсах.
- JEP 222: jshell: оболочка Java (цикл чтения-оценки-печати) : JShell — это интерфейс командной строки REPL для языка Java. [ 243 ]
- JEP 254: Компактные струны
- JEP 263: Графика HiDPI: автоматическое масштабирование и изменение размера.
- JEP 266: больше обновлений параллелизма , он включает Java-реализацию Reactive Streams , [ 244 ] включая новый
Flow
сорт [ 245 ] который включал интерфейсы, ранее предоставляемые Reactive Streams [ 246 ] - JEP 268: XML-каталоги
- JEP 282: jlink: Java Linker , создайте инструмент, который может собирать и оптимизировать набор модулей и их зависимостей в пользовательский образ времени выполнения. Это эффективно позволяет создавать полностью пригодный к использованию исполняемый файл, включая JVM для его запуска.
- JEP 295: Ahead-of-Time Compilation , предварительная компиляция, предоставляемая GraalVM
Первый кандидат на выпуск Java 9 был выпущен 9 августа 2017 года. [ 247 ] Первый стабильный выпуск Java 9 вышел 21 сентября 2017 года. [ 248 ]
История
[ редактировать ]На JavaOne 2011 компания Oracle обсудила функции, которые они надеются выпустить для Java 9 в 2016 году. [ 249 ] Java 9 должна включать улучшенную поддержку многогигабайтных куч, лучшую интеграцию собственного кода, другой сборщик мусора по умолчанию ( G1 , для «более короткого времени отклика»). [ 250 ] и самонастраивающаяся JVM. [ 251 ] В начале 2016 года релиз Java 9 был перенесен на март 2017 года. [ 252 ] а позже снова перенесли еще на четыре месяца, до июля 2017 года. [ 253 ]
Обновления Java 9
[ редактировать ]
Ява ЮВ 10
[ редактировать ]Выпущенный | 20 марта 2018 г. |
---|---|
№ JEP p | 12 |
Поддержка прекращена | |
Общественный | сентябрь 2018 г. |
OpenJDK 10 был выпущен 20 марта 2018 года и подтвердил двенадцать новых функций. [ 259 ] Среди этих особенностей были:
- JEP 286: Вывод типа локальной переменной
- JEP 296: объединение леса JDK в единый репозиторий
- JEP 304: Интерфейс сборщика мусора
- JEP 307: Параллельный полный сборщик мусора для G1
- JEP 310: Совместное использование данных классов приложений
- JEP 312: локальные рукопожатия потока
- JEP 313: удалить инструмент создания собственного заголовка (javah)
- JEP 314: Дополнительные расширения языковых тегов Юникода
- JEP 316: Распределение кучи на альтернативных устройствах памяти
- JEP 317: Экспериментальный JIT-компилятор на основе Java
- JEP 319: Корневые сертификаты
- JEP 322: Управление версиями выпуска на основе времени
Первый из этих выводов типа локальной переменной JEP 286 позволяет var
Ключевое слово, которое будет использоваться для локальных переменных с фактическим типом, рассчитанным компилятором. Итак, мы можем сделать:
var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream(); // infers Stream<String>
Обновления Java 10
[ редактировать ]
Ява ЮВ 11
[ редактировать ]LTS- версия | |
Выпущенный | 25 сентября 2018 г. |
---|---|
№ JEP p | 17 |
Удаление(я) | |
Примечательный | Java-апплеты , Java Web Start , JavaFX , JavaEE и CORBA . модули |
JDK 11 был выпущен 25 сентября 2018 г., и в настоящее время в этой версии исправлены ошибки. Он предлагает LTS или долгосрочную поддержку . Помимо прочего, Java 11 включает в себя ряд новых функций, таких как: [ 265 ]
- JEP 181: Контроль доступа на основе гнезда
- JEP 309: Динамические константы файла класса
- JEP 315: Улучшение встроенных функций Arch64
- JEP 318: Эпсилон: бездействующий сборщик мусора
- JEP 320: удаление модулей Java EE и CORBA
- JEP 321: HTTP-клиент (стандартный)
- JEP 323: Синтаксис локальных переменных для лямбда-параметров
- JEP 324: Ключевое соглашение с Curve25519 и Curve448
- JEP 327: Юникод 10
- JEP 328: Бортовой самописец
- JEP 329: Криптографические алгоритмы ChaCha20 и Poly1305
- JEP 330: Запуск программ с однофайловым исходным кодом
- JEP 331: Профилирование кучи с низкими издержками
- JEP 332: Безопасность транспортного уровня (TLS) 1.3
- JEP 333: ZGC: масштабируемый сборщик мусора с малой задержкой (экспериментальный)
- JEP 335: прекращение поддержки JavaScript-движка Nashorn
- JEP 336: устарели инструменты и API Pack200
Ряд функций из предыдущих выпусков был удален; в частности, Java-апплеты и Java Web Start больше недоступны. Модули JavaFX , Java EE и CORBA были удалены из JDK. [ 266 ]
Обновления Java 11
[ редактировать ]
Ява ЮВ 12
[ редактировать ]Выпущенный | 19 марта 2019 г. |
---|---|
№ JEP p | 8 |
Дополнение(я) | |
Предварительный просмотр | Расширенные операторы переключения |
Поддержка прекращена | |
Общественный | сентябрь 2019 г. |
JDK 12 был выпущен 19 марта 2019 года. Помимо прочего, Java 12 включает ряд новых функций, таких как: [ 313 ]
- JEP 189: Шенандоа: сборщик мусора с малой паузой (экспериментальный)
- JEP 230: Пакет микробенчмарков
- JEP 325: выражения переключения (предварительная версия)
- JEP 334: API констант JVM
- JEP 340: один порт AArch64, а не два
- JEP 341: Архивы CDS по умолчанию
- JEP 344: Прерываемые смешанные коллекции для G1
- JEP 346: Немедленно вернуть неиспользуемую выделенную память из G1
Функция предварительного просмотра JEP 325 расширяет switch
чтобы его также можно было использовать в качестве выражения, и добавляет новую форму метки регистра, где правая часть является выражением. Никакого оператора прерывания не требуется. Для сложных выражений yield
заявление можно использовать. Это становится стандартом в Java SE 14.
int ndays = switch(month) {
case JAN, MAR, MAY, JUL, AUG, OCT, DEC -> 31;
case APR, JUN, SEP, NOV -> 30;
case FEB -> {
if (year % 400 == 0) yield 29;
else if (year % 100 == 0) yield 28;
else if (year % 4 == 0) yield 29;
else yield 28; }
};
Обновления Java 12
[ редактировать ]
Ява ЮВ 13
[ редактировать ]Выпущенный | 17 сентября 2019 г. |
---|---|
№ JEP p | 5 |
Дополнение(я) | |
Предварительный просмотр | Расширенные операторы переключения , текстовые блоки |
Поддержка прекращена | |
Общественный | март 2023 г. [ 318 ] |
JDK 13 был выпущен 17 сентября 2019 года. Java 13 включает следующие новые функции, а также «сотни мелких улучшений и тысячи исправлений ошибок». [ 319 ]
- JEP 350: Динамические архивы CDS
- JEP 351: ZGC: освободить неиспользуемую память
- JEP 353: переопределить API устаревших сокетов
- JEP 354: выражения переключения (предварительная версия)
- JEP 355: текстовые блоки (предварительная версия)
JEP 355 Текстовые блоки допускают многострочные строковые литералы:
String html = """
<html lang="en">
<body>
<p>Hello, world</p>
</body>
</html>
""";
Обновления Java 13
[ редактировать ]
Ява ЮВ 14
[ редактировать ]Выпущенный | 17 марта 2020 г. |
---|---|
№ JEP p | 16 |
Дополнение(я) | |
Примечательный | Полезные NullPointerExceptions , расширенные операторы переключения |
Предварительный просмотр | Сопоставление шаблонов для экземпляров , записей и текстовых блоков. |
Инкубация | jpackager, доступ к внешней памяти |
Удаление(я) | |
Примечательный | Удалить сборщик мусора Concurrent Mark Sweep |
Поддержка прекращена | |
Общественный | сентябрь 2020 г. |
JDK 14 был выпущен 17 марта 2020 года. Java 14 включает следующие новые функции, а также «сотни мелких улучшений и тысячи исправлений ошибок». [ 324 ]
- JEP 305: Сопоставление с образцом для экземпляра (предварительная версия)
- JEP 343: Инструмент для упаковки (инкубатор)
- JEP 345: Распределение памяти с учетом NUMA для G1
- JEP 349: Потоковая передача событий JFR
- JEP 352: Энергонезависимые отображаемые байтовые буферы
- JEP 358: полезные исключения NullPointerExceptions
- JEP 359: Записи (предварительный просмотр)
- JEP 361: выражения переключения (стандартные)
- JEP 362: устарели порты Solaris и SPARC
- JEP 363: удаление сборщика мусора Concurrent Mark Sweep (CMS)
- JEP 364: ZGC на macOS
- JEP 365: ZGC в Windows
- JEP 366: устарела комбинация ParallelScavenge + SerialOld GC
- JEP 367: удаление инструментов и API Pack200
- JEP 368: текстовые блоки (второй предварительный просмотр)
- JEP 370: API доступа к внешней памяти (инкубатор)
JEP 305, Сопоставление с образцом, например, exampleof упрощает общий случай instanceof
за тестом сразу же следует приведение, заменяя
if (obj instanceof String) {
String s = (String)obj;
System.out.println(s.length());
}
с
if (obj instanceof String s) {
System.out.println(s.length());
}
JEP 359 Records позволяет легко создавать простые неизменяемые Tuple -подобные классы. [ 325 ]
record Point(int x, int y) { }
Point p = new Point(3, 4);
System.out.println(p.x());
Обновления Java 14
[ редактировать ]
Ява SE 15
[ редактировать ]Выпущенный | 15 сентября 2020 г. |
---|---|
№ JEP p | 14 |
Дополнение(я) | |
Примечательный | Скрытые классы, ZGC ( сборщик мусора ), Шенандоа (сборщик мусора), текстовые блоки |
Предварительный просмотр | Запечатанные классы , сопоставление экземпляров с образцом , записи |
Инкубация | Доступ к внешней памяти |
Удаление(я) | |
Примечательный | Движок JavaScript, Solaris и SPARC порты |
Поддержка прекращена | |
Общественный | март 2023 г. [ 318 ] |
JDK 15 был выпущен 15 сентября 2020 года. В Java 15 добавлена, например, поддержка многострочных строковых литералов (также известных как текстовые блоки). Сборщики мусора Shenandoah и Z (последние иногда обозначаются сокращенно ZGC) теперь готовы к использованию в производстве (т.е. больше не помечены как экспериментальные). Поддержка операционной системы Oracle Solaris (и процессоров SPARC) прекращена (хотя она все еще доступна, например, в Java 11). Механизм JavaScript Nashorn удален. Также удалены некоторые корневые сертификаты CA.
- JEP 339: Алгоритм цифровой подписи Эдвардса (EdDSA)
- JEP 360: запечатанные классы (предварительная версия)
- JEP 371: Скрытые классы
- JEP 372: удаление JavaScript-движка Nashorn
- JEP 373: переопределить устаревший API DatagramSocket
- JEP 374: отключение и прекращение поддержки смещенной блокировки
- JEP 375: Сопоставление с образцом для экземпляра (вторая предварительная версия)
- JEP 377: ZGC: масштабируемый сборщик мусора с малой задержкой
- JEP 378: Текстовые блоки
- JEP 379: Шенандоа: сборщик мусора с малой паузой
- JEP 381: удалите порты Solaris и SPARC
- JEP 383: API доступа к внешней памяти (второй инкубатор)
- JEP 384: Отчеты (второй предварительный просмотр)
- JEP 385: Устаревшая активация RMI для удаления
JEP 360 Запечатанные классы добавляют запечатанные классы и интерфейсы, которые ограничивают то, какие другие классы или интерфейсы могут расширять или реализовывать их. Только те классы, которые указаны в permits
предложение может расширять класс или интерфейс.
package com.example.geometry;
public abstract sealed class Shape
permits Circle, Rectangle, Square {...}
Вместе с записями запечатанные классы являются типами сумм . Они хорошо работают с другими новыми функциями, такими как записи, выражения переключения и сопоставление с образцом, например. Все они являются частью системы «Сопоставление шаблонов в Java», впервые обсуждавшейся Гэвином Бирманом и Брайаном Гетцем в сентябре 2018 года. [ 331 ]
Обновления Java 15
[ редактировать ]
Ява SE 16
[ редактировать ]Выпущенный | 16 марта 2021 г. |
---|---|
№ JEP p | 17 |
Дополнение(я) | |
Примечательный | Порт Windows/AArch64, jpackager, сопоставление шаблонов для экземпляра , записи |
Предварительный просмотр | Закрытые классы |
Инкубация | Внешний компоновщик , доступ к внешней памяти |
Поддержка прекращена | |
Общественный | сентябрь 2021 г. |
JDK 16 был выпущен 16 марта 2021 года. В Java 16 удалены параметры предварительной компиляции (и Graal JIT ). [ 337 ] Сама реализация Java была и до сих пор пишется на C++ , тогда как, начиная с Java 16, более поздний C++14 (но все еще не, например, C++17 или C++20 разрешен ). Код также был перенесен на GitHub , отказавшись от Mercurial в качестве системы контроля версий .
- JEP 338: Векторный API (инкубатор)
- JEP 347: включить возможности языка C++14
- JEP 357: переход с Mercurial на Git
- JEP 369: миграция на GitHub
- JEP 376: ZGC: параллельная обработка стека потоков
- JEP 380: Каналы сокетов домена Unix
- JEP 386: Порт Alpine Linux – еще нестабилен
- JEP 387: Эластичное метапространство
- JEP 388: порт Windows/AArch64
- JEP 389: API внешнего компоновщика (инкубатор)
- JEP 390: Предупреждения для классов, основанных на значениях
- JEP 392: Инструменты для упаковки
- JEP 393: API доступа к внешней памяти (Третий инкубатор)
- JEP 394: Сопоставление с образцом для экземпляра
- JEP 395: Записи
- JEP 396: строгая инкапсуляция внутренних компонентов JDK по умолчанию
- JEP 397: Запечатанные классы (вторая предварительная версия)
Обновления Java 16
[ редактировать ]
Ява ЮВ 17
[ редактировать ]LTS- версия | |
Выпущенный | 14 сентября 2021 г. |
---|---|
№ JEP p | 14 |
Дополнение(я) | |
Примечательный | Порт macOS /AArch64, запечатанные классы |
Предварительный просмотр | переключения Сопоставление шаблонов |
Инкубация | Векторный API, API внешних функций и памяти |
Удаление(я) | |
Примечательный | Компилятор AOT , RMI , активация strictfp ключевое слово устарело (JEP 306) |
JDK 17 был выпущен в сентябре 2021 года. [ 343 ] Java 17 — это второй выпуск с долгосрочной поддержкой (LTS) с момента перехода на новый шестимесячный период выпуска (первым был Java 11).
- JEP 306: восстановить всегда строгую семантику с плавающей запятой
- JEP 356: Расширенные генераторы псевдослучайных чисел
- JEP 382: новый конвейер рендеринга macOS
- JEP 391: порт macOS/AArch64
- JEP 398: объявить устаревшим API апплета для удаления
- JEP 403: строгая инкапсуляция внутренних компонентов JDK
- JEP 406: Сопоставление шаблонов для переключателя (предварительная версия)
- JEP 407: удалить активацию RMI
- JEP 409: Запечатанные классы
- JEP 410: удаление экспериментального AOT и JIT-компилятора
- JEP 411: объявить устаревшим диспетчер безопасности для удаления
- JEP 412: API внешних функций и памяти (инкубатор)
- JEP 414: Vector API (второй инкубатор)
- JEP 415: Контекстно-зависимые фильтры десериализации
JEP 406 расширяет синтаксис сопоставления с образцом, используемый в операциях экземпляра, для переключения операторов и выражений. Он позволяет выбирать случаи на основе типа аргумента, нулевых случаев и уточняющих шаблонов.
Object o = ...;
return switch (o) {
case null -> "Null";
case String s -> "String %s".formatted(s);
case Long l -> "long %d".formatted(l);
case Double d -> "double %f".formatted(d);
case Integer i && i > 0 // refining patterns
-> "positive int %d".formatted(i);
case Integer i && i == 0
-> "zero int %d".formatted(i);
case Integer i && i < 0
-> "negative int %d".formatted(i);
default -> o.toString();
};
Обновления Java 17
[ редактировать ]
Ява ЮВ 18
[ редактировать ]Выпущенный | 22 марта 2022 г. |
---|---|
№ JEP p | 9 |
Дополнение(я) | |
Примечательный |
|
Предварительный просмотр | Сопоставление шаблонов переключения |
Инкубация |
|
Удаление(я) | |
Примечательный | Устаревшая финализация для удаления |
Поддержка прекращена | |
Общественный | сентябрь 2022 г. |
JDK 18 был выпущен 22 марта 2022 года. [ 368 ]
- JEP 400: UTF-8 по умолчанию
- JEP 408: Простой веб-сервер
- JEP 413: фрагменты кода в документации Java API
- JEP 416: переопределить базовое отражение с помощью дескрипторов методов
- JEP 417: Vector API (Третий инкубатор)
- JEP 418: SPI разрешения интернет-адресов
- JEP 419: API внешних функций и памяти (второй инкубатор)
- JEP 420: Сопоставление шаблонов для коммутатора (вторая предварительная версия)
- JEP 421: Устаревшая финализация для удаления
Обновления Java 18
[ редактировать ]
Ява SE 19
[ редактировать ]Выпущенный | 20 сентября 2022 г. |
---|---|
№ JEP p | 7 |
Дополнение(я) | |
Предварительный просмотр |
|
Инкубация |
|
Поддержка прекращена | |
Общественный | март 2023 г. |
JDK 19 был выпущен 20 сентября 2022 года. [ 377 ]
- JEP 405: Шаблоны записи (предварительная версия)
- JEP 422: Linux/RISC-V Port
- JEP 424: API внешних функций и памяти (предварительная версия)
- JEP 425: виртуальные потоки (предварительная версия)
- JEP 426: Vector API (Четвертый инкубатор)
- JEP 427: Сопоставление шаблонов для переключателя (третья предварительная версия)
- JEP 428: Структурированный параллелизм (инкубатор)
JEP 405 позволяет использовать шаблоны записей, расширяя возможности сопоставления шаблонов операторов экземпляра и выражений переключения, включая шаблоны записей, которые явно ссылаются на компоненты записи.
record Rectangle(int x, int y, int w, int h) {}
int area(Object o) {
if (o instanceof Rectangle(int x, int y, int w, int h)) {
return w * h;
}
return 0;
}
Такие шаблоны могут включать в себя вложенные шаблоны, в которых компоненты записей сами являются записями, что позволяет шаблонам сопоставлять большее количество графов объектов.
Обновления Java 19
[ редактировать ]
Ява SE 20
[ редактировать ]Выпущенный | 21 марта 2023 г. |
---|---|
№ JEP p | 7 |
Дополнение(я) | |
Инкубация | Ограниченные значения |
Поддержка прекращена | |
Общественный | сентябрь 2023 г. |
Java 20 была выпущена 21 марта 2023 года. [ 383 ] Все JEP были либо инкубаторами, либо предварительными.
- JEP 429: Ограниченные значения (инкубатор)
- JEP 432: Шаблоны записи (второй предварительный просмотр)
- JEP 433: Сопоставление шаблонов для переключателя (четвертая предварительная версия)
- JEP 434: API внешних функций и памяти (вторая предварительная версия)
- JEP 436: виртуальные потоки (второй предварительный просмотр)
- JEP 437: Структурированный параллелизм (второй инкубатор)
- JEP 438: Vector API (Пятый инкубатор)
Обновления Java 20
[ редактировать ]
Ява ЮВ 21
[ редактировать ]LTS- версия | |
Выпущенный | 19 сентября 2023 г. |
---|---|
№ JEP p | 15 |
Дополнение(я) | |
Примечательный | Запись шаблонов, сопоставление шаблонов для коммутатора, виртуальные потоки |
Предварительный просмотр | Строковые шаблоны, безымянные классы и основные методы |
Инкубация | Векторный API |
Java 21 была выпущена 19 сентября 2023 года. [ 389 ] Существует восемь JEP, которые не находятся в предварительной версии или инкубации, по сравнению с Java 20, в которой были только предварительный просмотр и инкубация JEP. В Java 21 представлены функции, впервые представленные в Java 17 (сопоставление шаблонов для операторов переключения ) и Java 19 (шаблоны записи). версия 32-разрядная Java для Windows на платформе x86 объявлена устаревшей и подлежит удалению.
- JEP 430: Строковые шаблоны (предварительная версия)
- JEP 431: Последовательные коллекции
- JEP 439: Поколение ZGC
- JEP 440: Шаблоны записи
- JEP 441: Сопоставление шаблонов для переключателя
- JEP 442: API внешних функций и памяти (третья предварительная версия)
- JEP 443: Безымянные шаблоны и переменные (предварительная версия)
- JEP 444: Виртуальные потоки
- JEP 445: Безымянные классы и основные методы экземпляра (предварительная версия)
- JEP 446: ограниченные значения (предварительная версия)
- JEP 448: Vector API (Шестой инкубатор)
- JEP 449: запретить удаление 32-разрядного порта x86 для Windows
- JEP 451: приготовьтесь запретить динамическую загрузку агентов
- JEP 452: API механизма инкапсуляции ключей
- JEP 453: Структурированный параллелизм (предварительная версия)
JEP 445, предварительный просмотр безымянных классов, позволяет использовать простой основной класс без шаблонного кода:
void main() {
System.out.println("Hello, World!");
}
вместо :
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Обновления Java 21
[ редактировать ]
Ява ЮВ 22
[ редактировать ]Выпущенный | 19 марта 2024 г. |
---|---|
№ JEP p | 12 |
Дополнение(я) | |
Примечательный | API внешних функций и памяти, безымянные переменные и шаблоны |
Предварительный просмотр | Структурированный параллелизм, строковые шаблоны |
Инкубация | Векторный API |
Java 22 была выпущена 19 марта 2024 года. [ 397 ] [ 398 ]
- JEP 423: Закрепление региона для G1
- JEP 447: Заявления перед super(...) (Предварительный просмотр)
- JEP 454: API внешних функций и памяти
- JEP 456: Безымянные переменные и шаблоны
- JEP 457: API файлов классов (предварительная версия)
- JEP 458: Запуск многофайловых программ с исходным кодом
- JEP 459: Строковые шаблоны (вторая предварительная версия)
- JEP 460: Vector API (Седьмой инкубатор)
- JEP 461: Сборщики потоков (предварительная версия)
- JEP 462: Структурированный параллелизм (вторая предварительная версия)
- JEP 463: Неявно объявленные классы и основные методы экземпляра (вторая предварительная версия)
- JEP 464: ограниченные значения (вторая предварительная версия)
По крайней мере один API был удален из Java; т. е. очень редко используемый API (для многопоточности) был удален из Java 22. [ 3 ] [ 399 ]
Ява ЮВ 23
[ редактировать ]Выпуск | Сентябрь 2024 г. |
---|
По состоянию на январь 2024 г. [update], спецификация Java 23 еще не доработана. Выпуск Java 23 запланирован на сентябрь 2024 года. [ 400 ]
Будущие возможности
[ редактировать ]- Проект Валгалла : классы значений , объекты которых не имеют идентичности, но в некоторых случаях могут получить улучшенную структуру памяти (с меньшей косвенностью) или полностью оптимизировать их распределение.
- Проект Панама :
- Улучшена совместимость с собственным кодом , позволяющая исходному коду Java вызывать функции и использовать типы данных из других языков, что проще и обеспечивает лучшую производительность, чем сегодня (эта часть Project Panama стабилизируется в Java 22 в соответствии с JEP 454: API внешних функций и памяти ).
- Vector API, портативный и относительно низкоуровневый уровень абстракции для SIMD -программирования. Его стабилизация зависит от проекта «Вальгалла».
- Project Lilliput : Уменьшите размер заголовков объектов Java. Сначала до 64 бит, а затем до 32 бит.
- Уменьшение времени запуска и времени прогрева (времени выхода на пиковую производительность) в режиме JIT:
- Проект CRaC позволяет делать снимки всей JVM (вместе с работающим приложением) и восстанавливать ее с необходимыми изменениями (переоткрытием файлов, сокетов и т. д.).
- Project Leyden , среди прочего, позволит частичную или (в долгосрочной перспективе) полную компиляцию AOT, снижая общий динамизм (путем принятия так называемых «ограничений закрытого мира») и уменьшая накладные расходы на динамическую компиляцию.
- Проект Babylon стремится расширить возможности языка Java на альтернативные модели программирования за счет улучшения его возможностей рефлексивного программирования , называемых отражением кода (т. е. отражением самого кода). Заявленная основная цель — запуск кода Java на графических процессорах, а SQL и другие модели программирования являются второстепенными целями.
Реализации
[ редактировать ]Официально поддерживаемой платформой Java , впервые разработанной в Sun и теперь управляемой Oracle, является Java SE . Релизы основаны на проекте OpenJDK — бесплатном проекте с открытым исходным кодом и открытой моделью разработки . Однако существуют и другие реализации Java — отчасти из-за ранней истории Java как проприетарного программного обеспечения . Напротив, некоторые реализации были созданы, чтобы предложить некоторые преимущества по сравнению со стандартной реализацией, часто в результате какой-либо области научных или корпоративных исследований. Многие дистрибутивы Linux включают сборки OpenJDK в рамках проекта IcedTea , запущенного Red Hat , который обеспечивает более простую среду сборки и интеграции .
Visual J++ и виртуальная машина Microsoft Java были созданы как несовместимые реализации. После иска Sun против Microsoft Microsoft отказалась от него и начала работу над платформой .NET . В 2021 году Microsoft начала распространять совместимую «Сборку Microsoft OpenJDK» сначала для Java 11, а затем и для Java 17. Их сборки поддерживают не только Windows, но также Linux и macOS .
Доступны и другие проприетарные реализации Java, такие как Azul Zing от . Azul предлагает сертифицированные сборки OpenJDK с открытым исходным кодом под названием Zulu.
До выпуска OpenJDK, хотя реализация Sun все еще была проприетарной, был создан проект GNU Classpath, чтобы предоставить бесплатную реализацию платформы Java с открытым исходным кодом. С момента выпуска JDK 7, когда OpenJDK стал официальной эталонной реализацией, первоначальная мотивация для проекта GNU Classpath почти полностью исчезла, и его последний выпуск состоялся в 2012 году.
Проект Apache Harmony был запущен незадолго до выпуска OpenJDK. После первоначального выпуска исходного кода Sun проект Harmony продолжил работу над предоставлением реализации под слабой лицензией , в отличие от защитной лицензии, выбранной для OpenJDK. Позже Google разработала Android и выпустила его под нестрогим лицензией. Android вобрал в себя части проекта Harmony, дополненные собственной виртуальной машиной Dalvik от Google и ART . С тех пор Apache Harmony вышел из эксплуатации, а Google заменил свои компоненты Harmony эквивалентными из OpenJDK.
И Jikes , и Jikes RVM представляют собой исследовательские проекты с открытым исходным кодом, разработанные IBM.
Существует несколько других реализаций, которые начинались как проприетарное программное обеспечение, но теперь имеют открытый исходный код. IBM изначально разработала OpenJ9 как проприетарную версию J9. [ 401 ] но с тех пор повторно лицензировал проект и передал его в фонд Eclipse Foundation . JRockit — это собственная реализация, приобретенная Oracle и включенная в последующие версии OpenJDK.
Ссылки
[ редактировать ]- ^ Рейнхольд, Марк (6 сентября 2017 г.). «Быстрее продвигать Java вперед» . Проверено 16 сентября 2017 г.
- ^ «Приглашаем всех на борт в шестимесячном поезде по выпуску Java» . theserverside.com. 12 сентября 2017 г. Проверено 16 сентября 2017 г.
- ^ Перейти обратно: а б «Удалить Thread.countStackFrames» . bugs.openjdk.org . Проверено 16 апреля 2024 г.
- ^ Перейти обратно: а б с д и ж г час я дж к «Дорожная карта поддержки Oracle Java SE» . www.oracle.com .
- ^ Смит, Дональд. «Представляем бесплатную лицензию Java» .
- ^ Рейнхольд, Марк (17 августа 2018 г.). «Что означает LTS для OpenJDK?» . Проверено 28 августа 2018 г.
- ^ «Глава 4. Формат файла класса » .
- ^ Перейти обратно: а б с д и ж «Жизненный цикл Red Hat OpenJDK и политика поддержки» . 19 ноября 2023 г.
- ^ «Поддержка Oracle Java SE 6» .
- ^ Перейти обратно: а б с д и ж «Дорожная карта Liberica JDK» .
- ^ Перейти обратно: а б с д и ж «Дорожная карта Azul JDK» .
- ^ «Поддержка Oracle Java SE 7» .
- ^ Перейти обратно: а б с д «Дорожная карта выпуска Eclipse Temurin» .
- ^ Перейти обратно: а б с д «Календарь поддержки Amazon Corretto» .
- ^ «JavaSoft выпускает Java 1.0» (пресс-релиз). Архивировано из оригинала 10 марта 2007 года . Проверено 5 февраля 2008 г.
- ^ Перейти обратно: а б Ортис, К. Энрике; Жигер, Эрик (2001). Профиль мобильного информационного устройства для Java 2 Micro Edition: Руководство разработчика . Джон Уайли и сыновья . ISBN 978-0-471-03465-0 . Проверено 30 мая 2012 г.
- ^ Пресс-релиз версии 1.1 , вс.
- ^ Теннант, Дон (15 марта 1997 г.). «Taligent готовит технологию интернационализации к большому успеху» . Компьютерный мир . ИДГ . Проверено 16 января 2021 г.
- ^ Пресс-релиз версии 1.2 , Sun.
- ^ Пресс-релиз версии 1.3 , Sun.
- ^ «Версия 1.3 полный список изменений» . Архивировано из оригинала 7 ноября 2006 года.
- ^ «Как запустить Java на компьютере с Windows 95?» .
- ^ Пресс-релиз версии 1.4 .
- ^ "Версия полный список изменений 1.4" . Архивировано из оригинала 8 января 2007 года.
- ^ Перейти обратно: а б «Платформа Java 2 5.0 и Java для бизнеса 5.0» . Корпорация Оракл . 2010 . Проверено 22 октября 2012 г.
- ^ «Версия 1.5.0 или 5.0?» . Оракул.
- ^ Пресс-релиз версии 1.5 .
- ^ Полный список изменений версии 1.5 .
- ^ «JSR 133, 2.4. Почему эта потребность не удовлетворяется существующими спецификациями?» . Оракул.
- ^ Гетц, Брайан (2006). Параллелизм Java на практике . Аддисон-Уэсли. п. XVIII. ISBN 0-321-34960-1 .
- ^ «Java 5.0 больше не доступна на Java.com» . Java.com. 03.11.2009 . Проверено 30 сентября 2016 г.
- ^ Полузащитник, Натан. «Разное Windows 2 — страница поджаренных технологий Натана» . Проверено 30 сентября 2016 г.
- ^ Янк, Кебин (3 мая 2005 г.). «Java 5 доступна для Mac OS X» . Сайтпойнт . Проверено 30 сентября 2016 г.
- ^ «Версия 1.5.0 или 5.0?» . Oracle.com . Проверено 18 апреля 2016 г.
- ^ Название бренда Java .
- ^ Версия 6 , Веб-заметки Java, Sun.
- ^ Пресс-релиз версии 1.6 .
- ^ Полный список изменений версии 1.6 .
- ^ Java-лобби. Архивировано 13 октября 2008 г. в Wayback Machine .
- ^ «Горячая точка Мустанга» . Архивировано из оригинала 2 января 2007 года.
- ^ Дарси, Джо (3 августа 2008 г.). «Достойная замена» . Проверено 29 июля 2009 г.
- ^ «Установите Java 6 в Mac OS X Leopard | Gephi, программное обеспечение для визуализации графиков с открытым исходным кодом» . Gephi.org . Проверено 30 сентября 2016 г.
- ^ «Дорожная карта поддержки Oracle Java SE» . Корпорация Оракл . 19 сентября 2012 года . Проверено 22 октября 2012 г.
- ^ «Автоматическое обновление и обновление JRE 6 через панель управления Java заменит JRE 6 на JRE 7» . Корпорация Оракл . 19 февраля 2013 года . Проверено 2 марта 2013 г.
- ^ «Java SE Development Kit 6, обновление 43, примечания к выпуску» . Корпорация Оракл . 4 марта 2013 года . Проверено 4 марта 2013 г.
- ^ «Java SE Development Kit 6, обновление 45, примечания к выпуску» . Корпорация Оракл . 4 марта 2013 года . Проверено 4 марта 2013 г.
- ^ «Примечания к выпуску обновления Java SE 6» . www.oracle.com .
- ^ Перейти обратно: а б с «Оракл Java-технологии | Oracle» . www.oracle.com .
- ^ «Нимбус — Java.net» . Архивировано из оригинала 20 августа 2011 года . Проверено 1 февраля 2020 г.
- ^ «Обновление 11 для Sun Java 6 уже доступно, ждем JavaFX» . FindMySoft.com . Проверено 13 ноября 2009 г.
- ^ Скромный, Чарльз (13 мая 2008 г.). «JavaOne: мусор прежде всего» . infoq.com . Проверено 7 сентября 2008 г.
- ^ Трус, Дэни (12 ноября 2008 г.). «Java VM: пробуем новый сборщик мусора для JDK 7» . Архивировано из оригинала 8 декабря 2011 г. Проверено 22 января 2012 г.
- ^ «Точки останова не срабатывают в JDK 1.6.0_14» . Проверено 14 июля 2009 г.
- ^ «Идентификатор ошибки: 6862295 Идентификатор потока JDWP изменяется во время сеанса отладки (что приводит к игнорированию точек останова)» . Проверено 22 июля 2009 г.
- ^ «Информация об обновлении критического исправления Oracle Java SE – июнь 2011 г.» . www.oracle.com .
- ^ «Информация об обновлении критического исправления Oracle Java SE – октябрь 2011 г.» . www.oracle.com .
- ^ «Не удалось установить обновление 32 для Java 6…» MSFN. Архивировано из оригинала 16 августа 2016 г. Проверено 31 июля 2016 г.
- ^ Перейти обратно: а б «Предупреждение безопасности Oracle для CVE-2012-4681» . Корпорация Оракл .
- ^ «Информация об обновлении критического исправления Oracle Java SE – апрель 2013 г.» . www.oracle.com .
- ^ «Зачем мне обновлять Java?» . java.com .
- ^ Перейти обратно: а б «Критическое обновление Oracle Java – июнь 2013 г.» . www.oracle.com .
- ^ Перейти обратно: а б «Обновление критического исправления Oracle – октябрь 2013 г.» . www.oracle.com .
- ^ Перейти обратно: а б «Обновление критического исправления Oracle – апрель 2014 г.» . www.oracle.com .
- ^ «Обновление критического исправления Oracle – июль 2014 г.» . www.oracle.com .
- ^ «Обновление критического исправления Oracle – октябрь 2014 г.» . www.oracle.com .
- ^ «Справочная реализация Java SE 6» . Корпорация Оракл . Проверено 24 октября 2016 г.
- ^ «Рекомендации по обновлению критических исправлений Oracle – январь 2015 г.» . www.oracle.com .
- ^ «Обновление критического исправления Oracle – апрель 2015 г.» . www.oracle.com .
- ^ «Информация об обновлении критических исправлений Oracle – июль 2015 г.» . Проверено 15 июля 2015 г.
- ^ «Рекомендации по обновлению критических исправлений Oracle – октябрь 2015 г.» . Проверено 20 октября 2015 г.
- ^ «Рекомендации по обновлению критических исправлений Oracle – январь 2016 г.» . Проверено 20 января 2016 г.
- ^ Перейти обратно: а б «Предупреждение безопасности Oracle для CVE-2016-0603» . Проверено 8 февраля 2016 г.
- ^ «Обновление критического обновления Oracle CVSS V2 — матрицы рисков — апрель 2016 г.» . Проверено 21 апреля 2016 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – июль 2016 г.» . Проверено 19 июля 2016 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – октябрь 2016 г.» . Проверено 18 октября 2016 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – январь 2017 г.» . Проверено 17 января 2017 г.
- ^ «Информация об обновлении критических исправлений Oracle – апрель 2017 г.» . Проверено 18 апреля 2017 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – июль 2017 г.» . Проверено 18 июля 2017 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – октябрь 2017 г.» . Проверено 20 октября 2017 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – январь 2018 г.» . Проверено 20 октября 2017 г.
- ^ Перейти обратно: а б «Информация об обновлении критических исправлений Oracle – апрель 2018 г.» . Проверено 17 апреля 2018 г.
- ^ Перейти обратно: а б «Информация об обновлении критических исправлений Oracle – июль 2018 г.» . Проверено 17 июля 2018 г.
- ^ Перейти обратно: а б «Рекомендации по обновлению критических исправлений Oracle – октябрь 2018 г.» . Проверено 18 октября 2018 г.
- ^ JDK7. Архивировано 15 декабря 2016 г. в Wayback Machine , вс.
- ^ «Представляем веб-трансляцию Java 7: продвижение Java вперед» . Корпорация Оракл . 7 июля 2011 года . Проверено 30 мая 2012 г.
- ^ Перейти обратно: а б «ДжДК 7» . openjdk.java.net .
- ^ «7 этапов JDK» . OpenJDK . Корпорация Оракл . Проверено 30 мая 2012 г.
- ^ Миллер, Алекс. «Ява 7» . Проверено 5 февраля 2024 г.
- ^ «JSR 292: Поддержка динамически типизированных языков на платформе Java» . Проверено 25 августа 2013 г.
- ^ «Сжатые ошибки в JVM Hotspot» . OpenJDK . Проверено 1 августа 2012 г.
- ^ «Параметры виртуальной машины Java HotSpot» . Оракул . Проверено 11 апреля 2013 г.
- ^ «Усовершенствования языка программирования Java» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Строки в операторах переключения» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Заявление о попытке с ресурсами» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Выведение типа для создания универсального экземпляра» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Улучшенные предупреждения компилятора при использовании непередаваемых формальных параметров с методами Varargs» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Двоичные литералы» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Подчеркивания в числовых литералах» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Перехват нескольких типов исключений и повторное создание исключений с улучшенной проверкой типов» . Скачать.oracle.com . Проверено 15 января 2013 г.
- ^ «Параллелизм JSR-166» . Проверено 16 апреля 2010 г.
- ^ «Файловый ввод-вывод (с поддержкой NIO.2)» . Java.sun.com. 14 марта 2008 г. Проверено 15 января 2013 г.
- ^ «Код ввода-вывода устаревшего файла» . Java.sun.com. 28 февраля 2012 г. Проверено 15 января 2013 г.
- ^ «Функции JDK 7» . OpenJDK. 28 июля 2011 г. Проверено 15 марта 2013 г.
- ^ «Знакомство с наборами правил развертывания» . Оракул. 21 августа 2013 г. Проверено 22 января 2019 г.
- ^ «Ключевой доклад JavaOne 2011» . Оракул. Архивировано из оригинала 26 октября 2011 г.
- ^ Перейти обратно: а б «Проект Головоломка» . OpenJDK.
«Системные требования к модулю Java — ПРОЕКТ 12» . Оракул.
Крил, Пол (18 июля 2012 г.). «Проект Jigsaw отложен до Java 9» . Инфомир . Проверено 15 июля 2020 г. - ^ «Автообновление Java 7 и Java 6» . Оракул.
- ^ В таблице критических обновлений исправлений показаны четыре даты в году.
- ^ «Конец общедоступных обновлений Java 7» .
После апреля 2015 года Oracle больше не будет публиковать обновления Java SE 7 на своих общедоступных сайтах загрузки. Существующие загрузки Java SE 7, уже опубликованные по состоянию на апрель 2015 г., останутся доступными в архиве Java в сети Oracle Technology Network. Разработчикам и конечным пользователям рекомендуется обновиться до более поздних версий Java SE, которые остаются доступными для общедоступной загрузки, чтобы продолжать получать общедоступные обновления и улучшения безопасности. [..] Июль 2015 г.: Обновления для Java 7 больше не доступны для общественности. Oracle предлагает обновления для Java 7 только для клиентов, которые приобрели поддержку Java или имеют продукты Oracle, требующие Java 7.
- ^ «Дорожная карта поддержки Oracle Java SE» . Корпорация Оракл. 19 декабря 2014 г. Проверено 7 января 2015 г.
- ^ «Примечания к выпуску JDK 7» . www.oracle.com .
- ^ «Информация об обновлении критического исправления Oracle Java SE – февраль 2012 г.» . www.oracle.com .
- ^ «Информация об обновлении критического исправления Oracle Java SE – июнь 2012 г.» . www.oracle.com .
- ^ «Выпущено обновление 6 для Java SE 7» . Архивировано из оригинала 27 октября 2012 года.
- ^ «Информация об обновлении критического исправления Oracle Java SE – октябрь 2012 г.» . www.oracle.com .
- ^ «Предупреждение безопасности Oracle для CVE-2013-0422» . Корпорация Оракл .
- ^ «Информация об обновлении критического исправления Oracle Java SE – февраль 2013 г.» . www.oracle.com .
- ^ «Oracle выпускает исправления для 40 дыр в Java – The H Security: новости и возможности» . www.h-online.com .
- ^ «Пакет разработки Java SE 7, обновление 40 исправлений ошибок» . www.oracle.com .
- ^ «Выпущен Oracle JDK 7u40 — функции безопасности, фиксированный ARM, Java Mission Control и многое другое» . Архивировано из оригинала 2 октября 2013 года.
- ^ Oracle выпустит исправления для Java и других продуктов во вторник , ZDNet ,
- ^ «Обновление критического исправления Oracle – январь 2014 г.» . www.oracle.com .
- ^ «Обновление пакета разработки Java SE 7, 55 исправлений ошибок» . www.oracle.com .
- ^ «Примечания к выпуску Java Mission Control 5.3» . www.oracle.com .
- ^ «Пакет разработки Java SE 7, обновление 60, исправления ошибок» . www.oracle.com .
- ^ Перейти обратно: а б «Описание выпусков Java CPU и PSU» . www.oracle.com .
- ^ «Информация об обновлении критических исправлений Oracle – июль 2015 г.» . www.oracle.com .
- ^ «Рекомендации по обновлению критических исправлений Oracle – октябрь 2015 г.» . www.oracle.com .
- ^ «Обновление критического исправления Oracle – январь 2016 г.» . www.oracle.com . Проверено 20 января 2016 г.
- ^ «Комплект разработки Java SE 7, обновление 99» . Проверено 23 марта 2016 г.
- ^ «Рекомендации по обновлению критических исправлений Oracle – апрель 2016 г.» . Проверено 18 апреля 2016 г.
- ^ «Информация об обновлении критических исправлений Oracle – апрель 2017 г.» . Проверено 18 апреля 2017 г.
- ^ «Информация об обновлении критических исправлений Oracle – январь 2019 г.» . Проверено 18 апреля 2019 г.
- ^ «Информация об обновлении критических исправлений Oracle – апрель 2019 г.» . Проверено 18 апреля 2019 г.
- ^ «Информация об обновлении критических исправлений Oracle – июль 2019 г.» . Проверено 7 января 2020 г.
- ^ «Информация об обновлении критических исправлений Oracle – октябрь 2019 г.» . Проверено 7 января 2020 г.
- ^ «Информация об обновлении критических исправлений Oracle – январь 2020 г.» . Проверено 22 апреля 2021 г.
- ^ «Информация об обновлении критических исправлений Oracle – апрель 2020 г.» . Проверено 22 апреля 2021 г.
- ^ «Информация об обновлении критических исправлений Oracle – июль 2020 г.» . Проверено 22 апреля 2021 г.
- ^ «Информация об обновлении критических исправлений Oracle – октябрь 2020 г.» . Проверено 22 апреля 2021 г.
- ^ «Информация об обновлении критических исправлений Oracle – январь 2021 г.» . Проверено 22 апреля 2021 г.
- ^ «Информация об обновлении критических исправлений Oracle – апрель 2021 г.» . Проверено 22 апреля 2021 г.
- ^ «Примечания к выпуску обновлений JDK 7 и JDK 7» . Проверено 25 января 2022 г.
- ^ «Примечания к выпуску обновлений JDK 7 и JDK 7» . Проверено 25 января 2022 г.
- ^ «Примечания к выпуску обновлений JDK 7 и JDK 7» . Проверено 25 января 2022 г.
- ^ «Предлагаемое новое расписание для Java 8» . 18 апреля 2013 г. Проверено 19 апреля 2013 г.
- ^ «ДжДК 8» . OpenJDK. 18 апреля 2013 г. Проверено 28 января 2014 г.
- ^ «Функции JDK 8» . OpenJDK. 28 января 2014 г. Проверено 28 января 2014 г.
- ^ «ДжСР 337» . Проверено 30 января 2014 г.
- ^ «Функции Java 7» . Сан Микросистемс. 09 февраля 2010 г. Проверено 16 апреля 2010 г.
- ^ Перейти обратно: а б «Эволюция интерфейса с помощью методов виртуального расширения» (PDF) . Брайан Гетц. 20 июля 2011 г. Проверено 27 марта 2014 г.
- ^ «Лямбда-выражения для языка программирования Java» . Брайан Гетц. 23 октября 2012 г. Проверено 27 марта 2014 г.
- ^ «Учебники по Java: методы по умолчанию» . Оракул. Архивировано из оригинала 23 мая 2017 г. Проверено 27 марта 2014 г.
- ^ Гафтер, Нил (18 августа 2006 г.). «Замыкания для Java» . Проверено 9 марта 2008 г.
- ^ Гослинг, Джеймс (31 января 2008 г.). «Замыкания» . Архивировано из оригинала 22 июля 2011 г. Проверено 9 марта 2008 г.
- ^ Рейнхольд, Марк (28 ноября 2009 г.). «Замыкания для Java» . Проверено 24 ноября 2009 г.
- ^ Дарси, Джо. «API беззнаковых целочисленных арифметических операций теперь в JDK 8» . blogs.oracle.com .
- ^ «Сертифицированные системные конфигурации Oracle JDK 8 и JRE 8» . Корпорация Оракл . Проверено 15 апреля 2014 г.
- ^ Шталь, Хенрик (11 июля 2014 г.). «Обновлено: будущее Java в Windows XP» . Корпорация Оракл . Архивировано из оригинала 11 ноября 2014 г. Проверено 11 ноября 2014 г.
JDK 8 не поддерживается в Windows XP. В ранних версиях JDK 8 были известны проблемы с установщиком в Windows XP, из-за которых его невозможно было установить без вмешательства вручную. Эта проблема была решена в обновлении 25 JDK 8. Важным моментом здесь является то, что мы больше не можем предоставлять полные гарантии для Java в Windows XP, поскольку Microsoft больше не обновляет эту ОС. Мы настоятельно рекомендуем пользователям перейти на более новую версию Windows, которая по-прежнему поддерживается Microsoft, чтобы обеспечить стабильную и безопасную среду.
- ^ Вилдт, Тори (27 октября 2014 г.). «Java SE 8 на Java.com» . blog.oracle.com . Архивировано из оригинала 29 ноября 2014 года . Проверено 24 ноября 2014 г.
- ^ «Дорожная карта поддержки Oracle Java SE» . Проверено 17 февраля 2021 г.
- ^ «Комплект разработки Java SE 8, обновление 5 (JDK 8u5)» . oracle.com . Проверено 28 апреля 2014 г.
- ^ «Комплект разработки Java SE 8, обновление 11 (JDK 8u11)» . oracle.com . Проверено 16 июля 2014 г.
- ^ «18 исправлений ошибок безопасности» . oracle.com . Проверено 16 июля 2014 г.
- ^ «Комплект разработки Java SE 8, обновление 20 (JDK 8u20)» . oracle.com . Проверено 27 августа 2014 г.
- ^ «Пакет разработки Java SE 8, обновление 20 исправлений ошибок» . www.oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 25 (JDK 8u25)» . oracle.com . Проверено 14 октября 2014 г.
- ^ «Комплект разработки Java SE 8, обновление 31 (JDK 8u31)» . oracle.com . Проверено 21 января 2015 г.
- ^ «Комплект разработки Java SE 8, обновление 40 (JDK 8u40)» . oracle.com . Проверено 4 марта 2015 г.
- ^ «Пакет разработки Java SE 8, обновление 40 исправлений ошибок» . www.oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 45 (JDK 8u45)» . oracle.com . Проверено 15 апреля 2015 г.
- ^ «Комплект разработки Java SE 8, обновление 51 (JDK 8u51)» . oracle.com . Проверено 14 июля 2015 г.
- ^ «Комплект разработки Java SE 8, обновление 60 (JDK 8u60)» . oracle.com . Проверено 18 августа 2015 г.
- ^ «Обновление пакета разработки Java SE 8, 60 исправлений ошибок» . www.oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 65 (JDK 8u65)» . oracle.com . Проверено 20 октября 2015 г.
- ^ «Java SE Development Kit 8, обновление 66, примечания к выпуску» . oracle.com . Проверено 22 октября 2015 г.
- ^ «Java SE Development Kit 8, обновление 71, примечания к выпуску» . oracle.com . Проверено 20 января 2015 г.
- ^ «Обновление 71 пакета разработки Java SE 8, исправление ошибок» . oracle.com . Проверено 20 января 2015 г.
- ^ «Комплект разработки Java SE 8, обновление 72, примечания к выпуску» . oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 73, примечания к выпуску» . oracle.com . Проверено 6 февраля 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 74, примечания к выпуску» . oracle.com . Проверено 6 февраля 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 77, примечания к выпуску» . oracle.com . Проверено 23 марта 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 91, примечания к выпуску» . oracle.com . Проверено 23 марта 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 92, примечания к выпуску» . Проверено 23 марта 2016 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 101» . Проверено 19 июля 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 102, примечания к выпуску» . Проверено 19 июля 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 111, примечания к выпуску» . Проверено 19 октября 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 112, примечания к выпуску» . Проверено 19 октября 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 121, примечания к выпуску» . Проверено 17 января 2016 г.
- ^ «Комплект разработки Java SE 8, обновление 131, примечания к выпуску» . www.oracle.com . Проверено 18 апреля 2017 г.
- ^ «Комплект разработки Java SE 8, обновление 141, примечания к выпуску» . www.oracle.com . Проверено 18 июля 2017 г.
- ^ «Комплект разработки Java SE 8, обновление 144, примечания к выпуску» . www.oracle.com . Проверено 26 июля 2017 г.
- ^ «Комплект разработки Java SE 8, обновление 151, примечания к выпуску» . www.oracle.com . Проверено 19 октября 2017 г.
- ^ «Комплект разработки Java SE 8, обновление 152, примечания к выпуску» . www.oracle.com . Проверено 19 октября 2017 г.
- ^ «Комплект разработки Java SE 8, обновление 161, примечания к выпуску» . www.oracle.com . Проверено 18 января 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 162, примечания к выпуску» . www.oracle.com . Проверено 16 января 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 171, примечания к выпуску» . www.oracle.com . Проверено 17 апреля 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 172, примечания к выпуску» . www.oracle.com . Проверено 17 апреля 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 181, примечания к выпуску» . www.oracle.com . Проверено 20 июля 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 191, примечания к выпуску» . www.oracle.com . Проверено 16 октября 2018 г.
- ^ «Комплект разработки Java SE 8, обновление 192, примечания к выпуску» . www.oracle.com . Проверено 16 октября 2018 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 201» . www.oracle.com . Проверено 16 января 2019 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 202» . www.oracle.com . Проверено 16 января 2019 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 211» . www.oracle.com . Проверено 16 апреля 2019 г.
- ^ Перейти обратно: а б «Комплект разработки Java SE 8, обновление 212, примечания к выпуску» . www.oracle.com . Проверено 16 апреля 2019 г.
- ^ «Комплект разработки Java SE 8, обновление 221, примечания к выпуску» . www.oracle.com . Проверено 30 июля 2019 г.
- ^ «Комплект разработки Java SE 8, обновление 231, примечания к выпуску» . www.oracle.com . Проверено 16 октября 2019 г.
- ^ «Комплект разработки Java SE 8, обновление 241, примечания к выпуску» . www.oracle.com . Проверено 18 января 2020 г.
- ^ «Комплект разработки Java SE 8, обновление 251, примечания к выпуску» . www.oracle.com . Проверено 14 апреля 2020 г.
- ^ «Комплект разработки Java SE 8, обновление 261, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u261» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 271, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u271» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 281, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u281» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 291, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u291» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 301» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u301» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 311, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 8u311» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 321» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 321, исправление ошибок» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 331, примечания к выпуску» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 331, исправления ошибок» . www.oracle.com . Проверено 19 апреля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 333, примечания к выпуску» . www.oracle.com . Проверено 2 мая 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 333, исправления ошибок» . www.oracle.com . Проверено 2 мая 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 341, примечания к выпуску» . www.oracle.com . Проверено 30 июля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 341, исправление ошибок» . www.oracle.com . Проверено 30 июля 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 351, примечания к выпуску» . www.oracle.com . Проверено 18 октября 2022 г.
- ^ «Комплект разработки Java SE 8, обновление 351, исправления ошибок» . www.oracle.com . Проверено 18 октября 2022 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 361» . www.oracle.com . Проверено 24 марта 2023 г.
- ^ «Комплект разработки Java SE 8, обновление 371, примечания к выпуску» . www.oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 381, примечания к выпуску» . www.oracle.com . Проверено 12 сентября 2023 г.
- ^ «Комплект разработки Java SE 8, обновление 391, примечания к выпуску» . www.oracle.com . Проверено 15 ноября 2023 г.
- ^ «Комплект разработки Java SE 8, примечания к выпуску обновления 401» . www.oracle.com .
- ^ Перейти обратно: а б «Комплект разработки Java SE 8, примечания к выпуску обновления 411» . www.oracle.com .
- ^ «Комплект разработки Java SE 8, обновление 421, примечания к выпуску» . www.oracle.com .
- ^ «ДжДК 9» . Проверено 16 июня 2017 г.
- ^ «Спецификация модульности Java, против которой выступает Red Hat, IBM отклонена» . Инфомир . 09.05.2017 . Проверено 16 июня 2017 г.
- ^ Чиргвин, Ричард (2 июля 2017 г.). «Выпуск Java 9 возвращается в нужное русло, сообщество голосует «за» » . theregister.co.uk . Проверено 29 июля 2017 г.
- ^ «Платформа Java, стандартная версия: Руководство по миграции на Oracle JDK 9» . docs.oracle.com . Проверено 15 мая 2018 г.
- ^ «OpenJDK: Проект Кулла» .
- ^ Леа, Дуг (15 января 2015 г.). «[concurrency-interest] jdk9 Классы-кандидаты Flow и Submission Publisher» . Архивировано из оригинала 20 января 2015 года . Проверено 24 декабря 2015 г.
- ^ «Поток (Java SE 9 и JDK 9)» . docs.oracle.com .
- ^ Reactive Streams выпускает первую стабильную версию для JVM
- ^ «JDK 9: первый выпуск-кандидат» . 09.08.2017 . Проверено 21 августа 2017 г.
- ^ «Java 9: дата выпуска и новые возможности» . techworld.com. 21 июля 2017 г. Архивировано из оригинала 07.12.2017 . Проверено 16 сентября 2017 г.
«ДжДК 9» . Корпорация Оракл . Проверено 16 сентября 2017 г. - ^ «Отметьте свой календарь: у Java 9 наконец-то появилась дата выпуска» . 07.05.2015.
- ^ «Новый сборщик мусора в Java 9: что меняется? Что остается?» . 26 июня 2015 г.
- ^ «JavaOne: JavaFX 2, Java для iOS» .
- ^ «Дата выпуска Java 9 — март 2017 г.» . 05.01.2016.
- ^ «Выпуск JDK 9 отложен еще на четыре месяца» . Регистр . Проверено 14 октября 2016 г.
- ^ «Примечания к выпуску JDK 9» . oracle.com. 21 сентября 2017 г.
- ^ «Примечания к выпуску JDK 9.0.1» . oracle.com. 17 октября 2017 г.
- ^ «Исправления ошибок JDK 9.0.1» . oracle.com . 17 октября 2017 г.
- ^ «Примечания к выпуску JDK 9.0.4» . oracle.com. 16 января 2018 г.
- ^ «Исправления ошибок JDK 9.0.4» . oracle.com . 16 января 2018 г.
- ^ OpenJDK. «ДжДК 10» .
- ^ «Примечания к выпуску JDK 10» . oracle.com. 20 марта 2018 г.
- ^ «Примечания к выпуску JDK 10.0.1» . oracle.com. 17 апреля 2018 г.
- ^ «Исправления ошибок JDK 10.0.1» . oracle.com. 17 апреля 2018 г.
- ^ «Примечания к выпуску JDK 10.0.2» . oracle.com. 17 июля 2018 г.
- ^ «Исправления ошибок JDK 10.0.2» . oracle.com. 17 июля 2018 г.
- ^ OpenJDK. «ДжДК 11» .
- ^ «Руководство по миграции Oracle JDK» . Справочный центр Oracle . Проверено 27 сентября 2018 г.
- ^ «ДжДК 11» . oracle.com. 25 сентября 2018 г.
- ^ «Примечания к выпуску JDK 11.0.1» . oracle.com. 16.10.2018.
- ^ «Исправления ошибок JDK 11.0.1» . oracle.com . 16.10.2018.
- ^ «Примечания к выпуску JDK 11.0.2» . oracle.com. 15 января 2019 г.
- ^ «Исправления ошибок JDK 11.0.2» . oracle.com . 15 января 2019 г.
- ^ «Примечания к выпуску JDK 11.0.3» . oracle.com. 16 апреля 2019 г.
- ^ «Исправления ошибок JDK 11.0.3» . oracle.com . 16 апреля 2019 г.
- ^ «Примечания к выпуску JDK 11.0.4» . oracle.com. 16 июля 2019 г.
- ^ «Исправления ошибок JDK 11.0.4» . oracle.com . 16 июля 2019 г.
- ^ «Примечания к выпуску JDK 11.0.5» . oracle.com. 15.10.2019.
- ^ «Исправления ошибок JDK 11.0.5» . oracle.com . 15.10.2019.
- ^ «Примечания к выпуску JDK 11.0.6» . oracle.com. 14 января 2020 г.
- ^ «Исправления ошибок JDK 11.0.6» . oracle.com . 14 января 2020 г.
- ^ «Примечания к выпуску JDK 11.0.7» . oracle.com. 14 апреля 2020 г.
- ^ «Исправления ошибок JDK 11.0.7» . oracle.com . 14 апреля 2020 г.
- ^ «Примечания к выпуску JDK 11.0.8» . oracle.com . 14 июля 2020 г.
- ^ «Исправления ошибок JDK 11.0.8» . oracle.com . 14 июля 2020 г.
- ^ «Примечания к выпуску JDK 11.0.9» . oracle.com . 20.10.2020.
- ^ «Исправления ошибок JDK 11.0.9» . oracle.com . 20.10.2020.
- ^ «Примечания к выпуску JDK 11.0.10» . oracle.com . 19 января 2021 г.
- ^ «Исправления ошибок JDK 11.0.10» . oracle.com . 19 января 2021 г.
- ^ «Примечания к выпуску JDK 11.0.11» . oracle.com . 20 апреля 2021 г.
- ^ «Исправления ошибок JDK 11.0.11» . oracle.com . 20 апреля 2021 г.
- ^ «Примечания к выпуску JDK 11.0.12» . oracle.com . 20 июля 2021 г.
- ^ «Исправления ошибок JDK 11.0.12» . oracle.com . 20 июля 2021 г.
- ^ «Примечания к выпуску JDK 11.0.13» . oracle.com . 2021-10-19.
- ^ «Исправления ошибок JDK 11.0.13» . oracle.com . 2021-10-19.
- ^ «Примечания к выпуску JDK 11.0.14» . oracle.com . 18 января 2022 г.
- ^ «Исправления ошибок JDK 11.0.14» . oracle.com . 18 января 2022 г.
- ^ «Примечания к выпуску JDK 11.0.15» . oracle.com . 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 11.0.15» . oracle.com . 19 апреля 2022 г.
- ^ «Примечания к выпуску JDK 11.0.16» . oracle.com . 19 июля 2022 г.
- ^ «Исправления ошибок JDK 11.0.16» . oracle.com . 19 июля 2022 г.
- ^ «Примечания к выпуску JDK 11.0.16.1» . oracle.com . 18 августа 2022 г.
- ^ «Примечания к выпуску JDK 11.0.17» . oracle.com . 2022-10-19.
- ^ «Исправления ошибок JDK 11.0.17» . oracle.com . 2022-10-19.
- ^ «Примечания к выпуску JDK 11.0.18» . oracle.com . 17 января 2023 г.
- ^ «Исправления ошибок JDK 11.0.18» . oracle.com . 17 января 2023 г.
- ^ «Примечания к выпуску JDK 11.0.19» . oracle.com . 18 апреля 2023 г.
- ^ «Исправления ошибок JDK 11.0.19» . oracle.com . 18 апреля 2023 г.
- ^ «Примечания к выпуску JDK 11.0.20» . oracle.com . 18 июля 2023 г.
- ^ «Исправления ошибок JDK 11.0.20» . oracle.com . 18 июля 2023 г.
- ^ «Примечания к выпуску JDK 11.0.21» . oracle.com . 17 октября 2023 г.
- ^ «Исправления ошибок JDK 11.0.21» . oracle.com . 17 октября 2023 г.
- ^ «Примечания к выпуску JDK 11.0.22» . oracle.com . 16 января 2024 г.
- ^ «Исправления ошибок JDK 11.0.22» . oracle.com . 16 января 2024 г.
- ^ OpenJDK. «12» .
- ^ «Примечания к выпуску JDK 12» . oracle.com. 19 марта 2019 г.
- ^ «Примечания к выпуску JDK 12.0.1» . oracle.com. 16 апреля 2019 г.
- ^ «Исправления ошибок JDK 12.0.1» . oracle.com . 16 апреля 2019 г.
- ^ «Примечания к выпуску JDK 12.0.2» . oracle.com. 16 июля 2019 г.
- ^ Перейти обратно: а б «Дорожная карта поддержки Azul» . Азул | Лучшая производительность Java, превосходная поддержка Java . Проверено 28 июня 2023 г.
- ^ oracle.com, Марк Рейнхолд (17 сентября 2019 г.). «Java 13/JDK 13: общая доступность» .
- ^ «Примечания к выпуску JDK 13» . oracle.com. 17 сентября 2019 г.
- ^ «Примечания к выпуску JDK 13.0.1» . oracle.com. 15.10.2019.
- ^ «Примечания к выпуску JDK 13.0.2» . oracle.com. 14 января 2020 г.
- ^ «Исправления ошибок JDK 13.0.2» . oracle.com . 14 января 2020 г.
- ^ oracle.com, Марк Рейнхолд (17 марта 2020 г.). «Java 14/JDK 14: общая доступность» .
- ^ Эванс, Бен (10 января 2020 г.). «Рекорды приходят на Яву» . Журнал Ява . Оракул . Проверено 10 июля 2021 г.
- ^ «Примечания к выпуску JDK 14» . oracle.com. 17.03.2020.
- ^ «Примечания к выпуску JDK 14.0.1» . oracle.com. 14 апреля 2020 г.
- ^ «Исправления ошибок JDK 14.0.1» . oracle.com . 14 апреля 2020 г.
- ^ «Примечания к выпуску JDK 14.0.2» . oracle.com. 14 июля 2020 г.
- ^ «Исправления ошибок JDK 14.0.2» . oracle.com . 14 июля 2020 г.
- ^ Гэвин Бирман; Брайан Гетц (сентябрь 2018 г.). «Сопоставление с образцом для Java» . openjdk.org . Проверено 18 июня 2024 г.
- ^ «Примечания к выпуску JDK 15» . oracle.com. 15 сентября 2020 г.
- ^ «Примечания к выпуску JDK 15.0.1» . oracle.com. 20.10.2020.
- ^ «Исправления ошибок JDK 15.0.1» . oracle.com . 20.10.2020.
- ^ «Примечания к выпуску JDK 15.0.2» . oracle.com. 19 января 2021 г.
- ^ «Исправления ошибок JDK 15.0.2» . oracle.com . 19 января 2021 г.
- ^ «[JDK-8255616] Удаление экспериментальных функций AOT и Graal JIT — система ошибок Java» . bugs.openjdk.java.net . Проверено 19 февраля 2021 г.
- ^ «Примечания к выпуску JDK 16» . oracle.com. 16 марта 2021 г.
- ^ «Примечания к выпуску JDK 16.0.1» . oracle.com. 20 апреля 2021 г.
- ^ «Исправления ошибок JDK 16.0.1» . oracle.com . 20 апреля 2021 г.
- ^ «Примечания к выпуску JDK 16.0.2» . oracle.com. 20 июля 2021 г.
- ^ «Исправления ошибок JDK 16.0.2» . oracle.com . 20 июля 2021 г.
- ^ «ДжДК 17» . openjdk.java.net . Проверено 17 сентября 2021 г.
- ^ «Примечания к выпуску JDK 17» . oracle.com. 14 сентября 2021 г.
- ^ «Примечания к выпуску JDK 17.0.1» . oracle.com. 2021-10-19.
- ^ «Исправления ошибок JDK 17.0.1» . oracle.com . 2021-10-19.
- ^ «Примечания к выпуску JDK 17.0.2» . oracle.com. 18 января 2022 г.
- ^ «Исправления ошибок JDK 17.0.2» . oracle.com . 18 января 2022 г.
- ^ «Примечания к выпуску JDK 17.0.3» . oracle.com. 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 17.0.3» . oracle.com . 19 апреля 2022 г.
- ^ «Примечания к выпуску JDK 17.0.3.1» . oracle.com. 2 мая 2022 г.
- ^ «Исправления ошибок JDK 17.0.3.1» . oracle.com . 2 мая 2022 г.
- ^ «Примечания к выпуску JDK 17.0.4» . oracle.com. 19 июля 2022 г.
- ^ «Исправления ошибок JDK 17.0.4» . oracle.com . 19 июля 2022 г.
- ^ «Примечания к выпуску JDK 17.0.4.1» . oracle.com. 18 августа 2022 г.
- ^ «Примечания к выпуску JDK 17.0.5» . oracle.com. 18 октября 2022 г.
- ^ «Исправления ошибок JDK 17.0.5» . oracle.com . 18 октября 2022 г.
- ^ «Примечания к выпуску JDK 17.0.6» . oracle.com. 17 января 2023 г.
- ^ «Исправления ошибок JDK 17.0.6» . oracle.com . 17 января 2023 г.
- ^ «Примечания к выпуску JDK 17.0.7» . oracle.com. 18 апреля 2023 г.
- ^ «Исправления ошибок JDK 17.0.7» . oracle.com . 18 апреля 2023 г.
- ^ «Примечания к выпуску JDK 17.0.8» . oracle.com. 18 июля 2023 г.
- ^ «Исправления ошибок JDK 17.0.8» . oracle.com . 18 июля 2023 г.
- ^ «Примечания к выпуску JDK 17.0.9» . oracle.com. 17 октября 2023 г.
- ^ «Исправления ошибок JDK 17.0.9» . oracle.com . 17 октября 2023 г.
- ^ «Примечания к выпуску JDK 17.0.10» . oracle.com . 16 января 2024 г.
- ^ «Исправления ошибок JDK 17.0.10» . oracle.com . 16 января 2024 г.
- ^ «ДжДК 18» . openjdk.org . Проверено 28 июня 2023 г.
- ^ «Примечания к выпуску JDK 18» . oracle.com. 2022-03-22.
- ^ «Примечания к выпуску JDK 18.0.1» . oracle.com. 19 апреля 2022 г.
- ^ «Исправления ошибок JDK 18.0.1» . oracle.com . 19 апреля 2022 г.
- ^ «Примечания к выпуску JDK 18.0.1.1» . oracle.com. 2 мая 2022 г.
- ^ «Исправления ошибок JDK 18.0.1.1» . oracle.com . 2 мая 2022 г.
- ^ «Примечания к выпуску JDK 18.0.2» . oracle.com. 19 июля 2022 г.
- ^ «Исправления ошибок JDK 18.0.2» . oracle.com . 19 июля 2022 г.
- ^ «Примечания к выпуску JDK 18.0.2.1» . oracle.com. 18 августа 2022 г.
- ^ «ДжДК 19» . openjdk.org . Проверено 19 сентября 2022 г.
- ^ «Примечания к выпуску JDK 19» . oracle.com. 20 сентября 2022 г.
- ^ «Примечания к выпуску JDK 19.0.1» . oracle.com. 18 октября 2022 г.
- ^ «Исправления ошибок JDK 19.0.1» . oracle.com . 18 октября 2022 г.
- ^ «Примечания к выпуску JDK 19.0.2» . oracle.com. 17 января 2023 г.
- ^ «Исправления ошибок JDK 19.0.2» . oracle.com . 17 января 2023 г.
- ^ «ДжДК 20» . openjdk.org . Проверено 21 апреля 2023 г.
- ^ «Примечания к выпуску JDK 20» . oracle.com. 21 марта 2023 г.
- ^ «Примечания к выпуску JDK 20.0.1» . oracle.com. 18 апреля 2023 г.
- ^ «Исправления ошибок JDK 20.0.1» . oracle.com . 18 апреля 2023 г.
- ^ «Примечания к выпуску JDK 20.0.2» . oracle.com. 18 июля 2023 г.
- ^ «Исправления ошибок JDK 20.0.2» . oracle.com . 18 июля 2023 г.
- ^ «ДжДК 21» . OpenJDK . Проверено 12 июня 2023 г.
- ^ «Примечания к выпуску JDK 21» . oracle.com. 19 сентября 2023 г.
- ^ «Примечания к выпуску JDK 21.0.1» . oracle.com. 17 октября 2023 г.
- ^ «Исправления ошибок JDK 21.0.1» . oracle.com . 17 октября 2023 г.
- ^ «Примечания к выпуску JDK 21.0.2» . oracle.com . 16 января 2024 г.
- ^ «Исправления ошибок JDK 21.0.2» . oracle.com . 16 января 2024 г.
- ^ «Примечания к выпуску JDK 21.0.3» . oracle.com . 16 апреля 2024 г.
- ^ «Исправления ошибок JDK 21.0.3» . oracle.com . 16 апреля 2024 г.
- ^ «ДжДК 22» . OpenJDK . Проверено 10 апреля 2024 г.
- ^ «Oracle выпускает Java 22» . oracle.com . Проверено 20 марта 2024 г.
- ^ «Java SE 22 (JSR 397)» . cr.openjdk.org . Проверено 16 апреля 2024 г.
- ^ «Платформа Java SE 23 JSR 398» . openjdk.org . Проверено 17 января 2024 г.
- ^ «Загрузки – Обзор» . 18 июля 2016 г.