Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

После JDK  1.0 язык Java претерпел несколько изменений, а также многочисленные добавления классов и пакетов в стандартную библиотеку . Начиная с J2SE 1.4, развитие языка Java регулируется процессом сообщества Java (JCP), который использует запросы спецификации Java (JSR) для предложения и определения дополнений и изменений в платформе Java . Язык указан в спецификации языка Java (JLS); изменения в JLS управляются в соответствии с JSR 901 .

Помимо языковых изменений, за прошедшие годы в библиотеку классов Java были внесены и другие изменения , которые выросли с нескольких сотен классов в JDK 1.0 до более трех тысяч в J2SE 5. Полностью новые API , такие как Swing и Java2D , были введены, и многие из исходных классов и методов JDK 1.0 устарели . Некоторые программы позволяют преобразовывать программы Java из одной версии платформы Java в более старую (например, Java 5.0, перенесенная на 1.4) (см. Инструменты резервного копирования Java ).

Что касается плана поддержки Oracle Java SE, [1] версия 11 является поддерживаемой в настоящее время версией долгосрочной поддержки (LTS) вместе с Java 8 LTS, в которой клиенты Oracle получат поддержку Oracle Premier. Последнее бесплатное общедоступное обновление программного обеспечения Java 8 LTS для коммерческого использования было выпущено Oracle в январе 2019 года, в то время как Oracle продолжает выпускать бесплатные общедоступные обновления Java 8 для разработки [1] и личного использования на неопределенный срок. [2] Поддержка Java 10, ранее поддерживаемой версии быстрого выпуска, закончилась в сентябре 2018 г., в тот же день, когда началась поддержка Java 11. Java 7 больше не поддерживается публично. Для Java 11 долгосрочная поддержка Oracle не будет предоставляться общественности; вместо этого более широкий OpenJDKcommunity, как AdoptOpenJDK или другие, как ожидается, выполнит эту работу. [3]

Общая доступность Java 16 состоялась 16 марта 2021 г., и Java 17 сейчас также находится в разработке. [4]

История [ править ]

В сентябре 2017 года Марк Рейнхольд, главный архитектор платформы Java, предложил изменить последовательность выпусков на «один выпуск функции каждые шесть месяцев» вместо текущего двухлетнего графика [9] [10], и позже предложение вступило в силу. .

JDK 1.0 [ править ]

Первая версия была выпущена 23 января 1996 года. [11] [12] Первая стабильная версия, JDK 1.0.2, называется Java 1. [12]

JDK 1.1 [ править ]

Основные дополнения к выпуску от 19 февраля 1997 г. включали: [13]

  • обширное переоснащение модели событий AWT
  • внутренние классы добавлены в язык
  • JavaBeans
  • JDBC
  • RMI
  • отражение, которое поддерживало только интроспекцию, никакие изменения во время выполнения были невозможны. (Возможность отражающего изменения объектов была добавлена ​​в J2SE 1.2 путем введения класса AccessibleObject и его подклассов, таких как класс Field .)
  • Компилятор JIT (Just In Time) на платформах Microsoft Windows, разработанный для JavaSoft компанией Symantec
  • Интернационализация и поддержка Unicode от Taligent [14]

J2SE 1.2 [ править ]

Codename Playground

Выпуск от 8 декабря 1998 г. и последующие выпуски через J2SE 5.0 были ретроспективно переименованы в Java 2, а название версии «J2SE» ( Java 2 Platform, Standard Edition ) заменило JDK, чтобы отличить базовую платформу от J2EE ( Java 2 Platform, Enterprise Edition ) и J2ME ( платформа Java 2, Micro Edition ). Это был очень важный выпуск Java, поскольку он утроил размер платформы Java до 1520 классов в 59 пакетах. Основные дополнения включали: [15]

  • strictfp ключевое слово
  • Качели графический API был интегрирован в основные классы
  • JVM Sun был оснащен JIT компилятором в первый раз
  • Плагин Java
  • Java IDL , реализация IDL для взаимодействия с CORBA
  • Рамки коллекций

J2SE 1.3 [ править ]

Кодовое имя пустельга

Наиболее заметными изменениями в версии от 8 мая 2000 г. были: [16] [17]

  • Включена JVM HotSpot (JVM HotSpot была впервые выпущена в апреле 1999 г. для J2SE 1.2 JVM)
  • RMI был изменен для поддержки дополнительной совместимости с CORBA.
  • Интерфейс именования и каталогов Java (JNDI) включен в основные библиотеки (ранее был доступен как расширение)
  • Архитектура отладчика платформы Java (JPDA)
  • JavaSound
  • Синтетические прокси-классы

J2SE 1.4 [ править ]

Кодовое имя Мерлин

Выпуск от 6 февраля 2002 г. был первым выпуском платформы Java, разработанной в рамках процесса сообщества Java как JSR 59 . Основные изменения включали: [18] [19]

  • Изменения языка
    • assertключевое слово (указано в JSR 41 )
  • Улучшения библиотеки
    • Регулярные выражения, смоделированные на основе регулярных выражений Perl
    • Цепочка исключений позволяет исключению инкапсулировать исходное исключение нижнего уровня
    • Поддержка интернет-протокола версии 6 ( IPv6 )
    • Неблокирующий ввод-вывод (Java) (с именем NIO) (указан в JSR 51 )
    • Logging 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 года. [20]

J2SE 5.0 [ править ]

Кодовое имя Тигр

Релиз от 30 сентября 2004 г. изначально имел номер 1.5, который до сих пор используется в качестве внутреннего номера версии. Номер был изменен на «лучше отражает уровень зрелости, стабильности, масштабируемости и безопасности J2SE». [21] Эта версия была разработана под JSR 176 .

J2SE 5.0 вступил в период окончания периода публичных обновлений 8 апреля 2008 г .; с 3 ноября 2009 г. обновления больше не доступны для широкой публики. Обновления были доступны для платных клиентов Oracle до мая 2015 г. [1]

Tiger добавил ряд важных новых языковых функций: [22] [23]

  • Generics : обеспечивает безопасность типов во время компиляции (статическую) для коллекций и устраняет необходимость в большинстве типов (преобразование типов) (определяется JSR 14 )
  • Метаданные : также называемые аннотациями ; позволяет помечать языковые конструкции, такие как классы и методы, с дополнительными данными, которые затем могут обрабатываться утилитами, поддерживающими метаданные (указанными в JSR 175 )
  • Autoboxing / unboxing: автоматические преобразования между примитивными типами (такими как 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 решает проблемы сложности, эффективности и производительности предыдущих спецификаций [24]
  • Статический импорт

Также были внесены следующие улучшения в стандартные библиотеки:

  • Автоматическая генерация заглушки для объектов RMI
  • Swing : новый внешний вид с возможностью смены скинов , называется synth.
  • В параллельности утилиты в пакете [25]java.util.concurrent
  • Класс сканера для анализа данных из различных входных потоков и буферов

Java 5 - это последний выпуск Java, официально поддерживающий Microsoft Windows 98 и Windows ME , [26] в то время как Windows Vista была новейшей версией Windows, на которой J2SE 5 поддерживалась до того, как Java 5 закончился в октябре 2009 года. . [20]

Java 5 Update 5 (1.5.0_05) - это последний выпуск Java, работающий в Windows 95 (с установленным Internet Explorer 5.5 ) и Windows NT 4.0 . [27]

Java 5 была впервые доступна в Apple Mac OS X 10.4 (Tiger) [28] и была версией Java по умолчанию, установленной в Apple Mac OS X 10.5 (Leopard).

Публичная поддержка и обновления безопасности для Java 1.5 закончились в ноябре 2009 года. Платные обновления безопасности для клиентов Oracle закончились в апреле 2015 года.

Изменение версий [ править ]

Эта версия представила новую систему управления версиями для языка Java, хотя старая система управления версиями продолжала использоваться для библиотек разработчиков:

Оба номера версии «1.5.0» и «5.0» используются для обозначения этого выпуска Java 2 Platform Standard Edition. Версия «5.0» - это версия продукта, а «1.5.0» - версия для разработчиков. Число «5.0» используется для лучшего отражения уровня зрелости, стабильности, масштабируемости и безопасности J2SE.

-  Версия 1.5.0 или 5.0?[29]

Это соответствие продолжалось и в более поздних выпусках (Java 6 = JDK 1.6, Java 7 = JDK 1.7 и т. Д.).

Обновления Java 5 [ править ]

Java SE 6 [ править ]

Кодовое имя Мустанг

В версии, выпущенной 11 декабря 2006 года, Sun заменила имя «J2SE» на Java SE и удалила «.0» из номера версии. [47] Внутренняя нумерация для разработчиков остается 1.6.0. [48]

Эта версия была разработана под JSR 270 .

На этапе разработки новые сборки, включая улучшения и исправления ошибок, выпускались примерно еженедельно. Бета-версии были выпущены в феврале и июне 2006 г., а окончательный выпуск состоялся 11 декабря 2006 г.

Основные изменения, внесенные в эту версию: [49] [50]

  • Прекращена поддержка старых версий Win9x; неофициально Java 6 Update 7 была последней версией Java, работающей с этими версиями Windows. [ необходима цитата ] Это считается [ кем? ] в связи с крупными изменениями в обновлении 10.
  • Поддержка языка сценариев ( JSR 223 ): общий API для тесной интеграции с языками сценариев и встроенная интеграция Mozilla JavaScript Rhino .
  • Значительные улучшения производительности базовой платформы [51] [52] и Swing .
  • Улучшенная поддержка веб-сервисов через JAX-WS ( JSR 224 ).
  • Поддержка JDBC 4.0 ( JSR 221 ).
  • Java Compiler API ( JSR 199 ): API, позволяющий Java-программе выбирать и вызывать Java-компилятор программно.
  • Обновление JAXB до версии 2.0: включая интеграцию парсера StAX .
  • Поддержка подключаемых аннотаций ( JSR 269 ). [53]
  • Многие улучшения графического интерфейса , такие как интеграция SwingWorker в API, сортировка и фильтрация таблиц и настоящая двойная буферизация Swing (устранение эффекта серой зоны).
  • Улучшения JVM включают: оптимизацию синхронизации и производительности компилятора , новые алгоритмы и обновления существующих алгоритмов сборки мусора , а также производительность запуска приложений.

Java 6 можно установить в Mac OS X 10.5 (Leopard), работающем на компьютерах с 64-разрядными процессорами (Core 2 Duo и выше). [54] Java 6 также поддерживается как 32-битными, так и 64-битными машинами под управлением Mac OS X 10.6 (Snow Leopard).

Срок поддержки Java 6 подошел к концу в феврале 2013 года, когда все общедоступные обновления, включая обновления безопасности, должны были быть остановлены. [55] [56] Oracle выпустила еще два обновления для Java 6 в марте и апреле 2013 года, в которых были исправлены некоторые уязвимости системы безопасности. [57] [58]

Обновления Java 6 [ править ]

После выпуска Java 6 Sun, а затем Oracle выпустили несколько обновлений, которые, хотя и не изменили общедоступный API, улучшили удобство использования для конечных пользователей или исправили ошибки. [59]

Java SE 7 [ править ]

Java 7 (кодовое имя Dolphin [137] ) - это крупное обновление, которое было выпущено 7 июля 2011 г. [138] и стало доступным для разработчиков 28 июля 2011 г. [139] Период разработки был разбит на тринадцать этапов; 6 июня 2011 года завершился последний из тринадцати этапов. [139] [140] В среднем за один этап выпускалось 8 сборок (которые обычно включали улучшения и исправления ошибок). В списке возможностей проекта OpenJDK 7 перечислены многие изменения.

Дополнения в Java 7 включают: [141]

  • Поддержка JVM для динамических языков с новым invokedynamicбайт-кодом под JSR-292, [142] после работы по созданию прототипа, которая в настоящее время выполняется на многоязыковой виртуальной машине.
  • Сжатые 64-битные указатели [143] (доступны в Java 6 с -XX:+UseCompressedOops) [144]
  • Эти небольшие языковые изменения (сгруппированы в рамках проекта под названием Coin): [145]
  • Строки в переключателе [146]
  • Автоматическое управление ресурсами в инструкции try [147]
  • Улучшенный вывод типа для создания универсального экземпляра, также известного как ромбовидный оператор <> [148]
  • Упрощенное объявление метода varargs [149]
  • Целочисленные двоичные литералы [150]
  • Разрешение подчеркивания в числовых литералах [151]
  • Перехват нескольких типов исключений и повторное генерирование исключений с улучшенной проверкой типов [152]
  • Утилиты параллелизма под JSR 166 [153]
  • Новая библиотека файлового ввода-вывода (определенная JSR 203), добавляющая поддержку нескольких файловых систем, метаданных файлов и символических ссылок. Новые пакеты java.nio.file, java.nio.file.attributeи java.nio.file.spi[154] [155]
  • Timsort используется для сортировки коллекций и массивов объектов вместо сортировки слиянием.
  • Поддержка на уровне библиотеки алгоритмов криптографии с эллиптическими кривыми
  • XRender трубопровод для Java 2D, что улучшает управляемость возможностей , характерных для современных графических процессоров
  • Новые API платформы для графических функций, изначально реализованные в версии 6u10 как неподдерживаемые API [156]
  • Расширенная поддержка на уровне библиотеки новых сетевых протоколов, включая SCTP и протокол Sockets Direct.
  • Upstream обновления XML и Unicode
  • Наборы правил развертывания Java [157]

Lambda (реализация лямбда-функций в Java), Jigsaw (реализация модулей в Java ) и часть Coin были исключены из Java 7 и выпущены как часть Java 8 (за исключением Jigsaw , выпущенного в Java 9). [158] [159]

Java 7 была версией по умолчанию для загрузки на java.com с апреля 2012 года до выпуска Java 8. [160]

Обновления Java 7 [ править ]

Oracle выпускала общедоступные обновления для семейства Java 7 ежеквартально [161] до апреля 2015 года, когда продукт достиг конца своей публичной доступности. [162] Дальнейшие обновления для JDK 7, которые планируется продлить до июля 2022 года, доступны только для клиентов с контрактом на поддержку. [163]

Java SE 8 [ править ]

Java 8 была выпущена 18 марта 2014 г. [230] [231] и включала некоторые функции, которые были запланированы для Java 7, но позже отложены. [232]

Работа над функциями была организована в рамках предложений по расширению JDK (JEP) . [233]

  • JSR 335, JEP 126: поддержка на уровне языка лямбда-выражений (официально лямбда-выражения; неофициально - замыкания ) в рамках проекта Lambda [234] и методов по умолчанию (методы виртуального расширения ) [235] [236] [237], которые позволяют добавлять методов для интерфейсов без нарушения существующих реализаций. В сообществе Java продолжались дискуссии о том, следует ли добавлять поддержку лямбда-выражений. [238] [239] Sun позже объявила, что лямбда-выражения будут включены в Java, и попросила сообщество внести вклад в улучшение этой функции. [240] Опорные выражения лямбды также позволяет функционально-стилевые операции с потоками элементов, такие как преобразования в коллекциях, вдохновленные MapReduce . Методы по умолчанию позволяют автору API добавлять новые методы в интерфейс, не нарушая старый код, используя его. Хотя это не было их основной целью, [235] методы по умолчанию также допускают множественное наследование поведения (но не состояния).
  • JSR 223, JEP 174: Project Nashorn , среда выполнения JavaScript, которая позволяет разработчикам встраивать код JavaScript в приложения.
  • JSR 308, JEP 104: Аннотация к типам Java [241]
  • Беззнаковая целочисленная арифметика [242]
  • JSR 337, JEP 120: повторяющиеся аннотации [243]
  • JSR 310, JEP 150: API даты и времени [244]
  • JEP 178: Статически связанные библиотеки JNI [245]
  • JEP 153: Запуск приложений JavaFX (прямой запуск JAR-файлов приложений JavaFX) [246]
  • JEP 122: Удалить постоянное поколение [247]

Java 8 не поддерживается в Windows XP [248], но после обновления 25 для JDK 8 ее можно установить и запустить под Windows XP. [249] Предыдущие обновления JDK 8 можно было запустить под XP, загрузив заархивированный файл в формате zip и разархивировав его для исполняемого файла. Последней версией Java 8, которая могла работать на XP, является обновление 251. Но совместимость его компонентов начинает нарушаться при неподдерживаемых ОС в самом начале разработки обновлений Java 8.

С октября 2014 года Java 8 была версией по умолчанию для загрузки (а затем снова для загрузки, заменяющей Java 9) с официального сайта. [250] «Oracle будет продолжать предоставлять публичные обновления и автоматические обновления Java SE 8 бессрочно для личных пользователей». [2]

Обновления Java 8 [ править ]

Java SE 9 [ править ]

Java SE 9 была доступна 21 сентября 2017 г. [302] из-за неоднозначного принятия текущей реализации Project Jigsaw Исполнительным комитетом Java [303], что привело к тому, что Oracle исправила некоторые нерешенные проблемы и проблемы, а также уточнила некоторые критические технические вопросы. В последние дни июня 2017 года Java Community Process практически единодушно согласился с предложенной схемой модульной системы. [304]

  • JSR 376: Модуляризация JDK в рамках Project Jigsaw ( система модулей платформы Java ) [159]
  • JavaDB был удален из JDK [305]
  • СЭП 193: Переменные ручки : определить стандартные средства для вызова эквивалентов различных java.util.concurrent.atomicи sun.misc.Unsafeопераций
  • JEP 213: Milling Project Coin : разрешить @SafeVarargs для методов частного экземпляра; Разрешить использование переменных с эффективным окончанием в качестве ресурсов в операторе try-with-resources; Разрешить ромб с анонимными классами, если тип аргумента предполагаемого типа является обозначаемым; Завершите удаление, начатое в Java SE 8, подчеркивания из набора имен допустимых идентификаторов; Поддержка частных методов в интерфейсах
  • JEP 222: jshell: оболочка Java (цикл чтения-вычисления-печати) : JShell - это интерфейс командной строки REPL для языка Java. [306]
  • JEP 254: Компактные струны
  • JEP 263: Графика HiDPI: автоматическое масштабирование и изменение размера
  • СЭП 266: Больше обновления параллелизма : Она включает в себя реализацию Java в Reactive Streams , [307] в том числе нового Flowкласса [308] , который включал интерфейсы ранее предоставленные Reactive Streams [309]
  • JEP 268: XML-каталоги
  • JEP 282: jlink: Java Linker : создание инструмента, который может собирать и оптимизировать набор модулей и их зависимости в настраиваемый образ времени выполнения. Это эффективно позволяет создать полностью работоспособный исполняемый файл, включая JVM для его запуска.
  • JEP 295: Опережающая компиляция : опережающая компиляция, предоставляемая GraalVM .

Первый кандидат на выпуск Java 9 был выпущен 9 августа 2017 года. [310] Первый стабильный выпуск Java 9 был выпущен 21 сентября 2017 года. [311]

История [ править ]

На JavaOne 2011 Oracle обсудила функции, которые они надеются выпустить для Java 9 в 2016 году. [312] Java 9 должна включать лучшую поддержку многогигабайтных куч, лучшую интеграцию с собственным кодом, другой сборщик мусора по умолчанию ( G1 , для «более короткого времени ответа» ") [313] и самонастраивающаяся JVM. [314] В начале 2016 года выпуск Java 9 был перенесен на март 2017 года [315], а позже снова отложен еще на четыре месяца до июля 2017 года. [316]

Обновления Java 9 [ править ]

Java SE 10 [ править ]

OpenJDK 10 был выпущен 20 марта 2018 года с подтвержденными двенадцатью новыми функциями. [320] Среди этих функций были:

  • JEP 286: Вывод типа локальной переменной
  • JEP 296: объединить лес JDK в единый репозиторий
  • JEP 304: Интерфейс сборщика мусора
  • JEP 307: полный параллельный сборщик мусора для G1
  • JEP 310: Совместное использование данных классов приложений
  • JEP 312: локальные рукопожатия потока
  • JEP 313: удалить инструмент создания собственных заголовков (javah)
  • JEP 314: Дополнительные расширения тегов языка Unicode
  • JEP 316: Распределение кучи на альтернативных устройствах памяти
  • JEP 317: экспериментальный JIT-компилятор на основе Java
  • JEP 319: корневые сертификаты
  • JEP 322: Управление версиями релизов по времени

Первый из этих выводов типа локальной переменной JEP 286 позволяет использовать varключевое слово для локальных переменных с фактическим типом, вычисленным компилятором. Итак, мы можем сделать

var  list  =  new  ArrayList < String > ();  // выводит ArrayList <String> var  stream  =  list . поток ();  // выводит Stream <String>

Обновления Java 10 [ править ]

Java SE 11 [ править ]

JDK 11 был выпущен 25 сентября 2018 г., и в настоящее время эта версия открыта для исправления ошибок. Он предлагает LTS или долгосрочную поддержку. Среди прочего, Java 11 включает ряд новых функций, таких как: [326]

  • JEP 181: Контроль доступа на основе гнезд
  • JEP 309: динамические константы файлов классов
  • JEP 315: Улучшение встроенных функций Aarch64
  • 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 [327]

Обновления Java 11 [ править ]

Java SE 12 [ править ]

JDK 12 был выпущен 19 марта 2019 года. Среди прочего, Java 12 включает ряд новых функций, таких как: [340]

  • JEP 189: Шенандоа: сборщик мусора с малым временем паузы (экспериментальный)
  • JEP 230: Пакет Microbenchmark
  • JEP 325: Switch Expressions (предварительная версия)
  • JEP 334: API констант JVM
  • JEP 340: один порт AArch64, а не два
  • JEP 341: Архивы CDS по умолчанию
  • JEP 344: прерывание смешанных коллекций для G1
  • JEP 346: незамедлительно вернуть неиспользованную выделенную память из G1

Функция предварительного просмотра Jep 325 расширяет switchоператор, так что его также можно использовать как выражение, и добавляет новую форму метки case, где правая часть является выражением. Оператор разрыва не требуется. Для сложных выражений yieldможно использовать оператор. Это становится стандартом в Java SE 14.

int  ndays  =  переключатель ( месяц )  {  case  JAN ,  MAR ,  MAY ,  JUL ,  AUG ,  OCT ,  DEC  ->  31 ;  case  APR ,  JUN ,  SEP ,  NOV  ->  30 ;  case  FEB  ->  {  if ( year  %  400  == 0 )  yield  29 ;  иначе,  если ( год  % 100  ==  0 )  выход  28 ;  иначе,  если ( год  %  4  == 0 )  yield  29 ;  иначе  выход  28 ;  } };

Обновления Java 12 [ править ]

Java SE 13 [ править ]

JDK 13 был выпущен 17 сентября 2019 года. Java 13 включает следующие новые функции, а также «сотни небольших улучшений и тысячи исправлений ошибок». [344]

  • JEP 350: динамические архивы CDS
  • JEP 351: ZGC: разблокировать неиспользуемую память
  • JEP 353: переопределить устаревший API сокетов
  • JEP 354: Switch Expressions (предварительная версия)
  • JEP 355: Текстовые блоки (предварительная версия)

JEP 355 Text Blocks позволяет использовать многострочные строковые литералы:

String  html  =  "" "  <HTML lang =" ru ">  <body>  <p> Привет, мир </p>  </body>  </html>  " "" ;

Обновления Java 13 [ править ]

Java SE 14 [ править ]

JDK 14 был выпущен 17 марта 2020 года. Java 14 включает следующие новые функции, а также «сотни небольших улучшений и тысячи исправлений ошибок». [348]

  • JEP 305: сопоставление с образцом для instanceof (предварительная версия)
  • JEP 343: Инструмент для упаковки (инкубатор)
  • JEP 345: Распределение памяти с учетом NUMA для G1
  • JEP 349: потоковая передача событий JFR
  • JEP 352: энергонезависимые отображаемые байтовые буферы
  • JEP 358: полезные исключения NullPointerExceptions
  • JEP 359: Записи (предварительный просмотр)
  • JEP 361: Switch Expressions (Стандарт)
  • 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, Сопоставление с образцом, например, упрощает общий случай instanceofтеста, за которым сразу следует приведение, заменяя

if  ( obj  instanceof  String )  {  String  s  =  ( String )  obj ;  Система . из . Println (  с . Длина ()  ); }

с участием

if  ( obj  instanceof  String  s )  {  System . из . Println (  с . Длина ()  ); }

JEP 359 Records позволяет легко создавать простые неизменяемые классы, подобные Tuple .

запись  Point ( int  x ,  int  y )  {  } Point  p  =  new  Point ( 3 , 4 ); Система . из . println (  стр . x ()  );

Обновления Java 14 [ править ]

Java SE 15 [ править ]

JDK 15 был выпущен 15 сентября 2020 года. В Java 15 добавлена, например, поддержка многострочных строковых литералов (также известных как текстовые блоки). Сборщики мусора Shenandoah и Z (последние иногда сокращенно ZGC) теперь готовы к использованию в производственной среде (т. Е. Больше не помечены как экспериментальные). Поддержка операционной системы Oracle Solaris (и процессоров SPARC) прекращена (хотя она все еще доступна, например, в Java 11). Движок Nashorn JavaScript удален. Также удалены некоторые корневые сертификаты ЦС .

  • JEP 339: Алгоритм цифровой подписи по кривой Эдвардса (EdDSA)
  • JEP 360: Запечатанные классы (предварительная версия)
  • JEP 371: Скрытые классы
  • JEP 372: удалить движок Nashorn JavaScript Engine
  • JEP 373: переопределить устаревший API-интерфейс DatagramSocket
  • JEP 374: Отключить и исключить предвзятую блокировку
  • JEP 375: сопоставление с образцом для instanceof (второй просмотр)
  • JEP 377: ZGC: масштабируемый сборщик мусора с малой задержкой
  • JEP 378: Текстовые блоки
  • JEP 379: Шенандоа: сборщик мусора с короткими паузами
  • JEP 381: Удаление портов Solaris и SPARC
  • JEP 383: API доступа к внешней памяти (второй инкубатор)
  • JEP 384: Записи (второй просмотр)
  • JEP 385: исключить активацию RMI для удаления

JEP 360 Sealed Classes добавляет запечатанные классы и интерфейсы, которые ограничивают то, какие другие классы или интерфейсы могут их расширять или реализовывать. Только те классы, которые указаны в permitsпредложении, расширяют класс или интерфейс.

пакет  com.example.geometry ;общедоступный  абстрактный  запечатанный  класс  Shape  разрешает  Circle ,  Rectangle ,  Square  {...}

Вместе с записями запечатанные классы являются типами алгебраических данных , записи - типами продуктов, а запечатанные классы - типами сумм . Они хорошо работают с другими недавними функциями, такими как записи, выражения переключения и сопоставление с образцом, например. Все они являются частью системы «сопоставления с образцом в Java», впервые обсужденной Гэвином Бирманом и Брайаном Гетцем в сентябре 2018 г. [352]

Обновления Java 15 [ править ]

Java SE 16 [ править ]

JDK 16 был выпущен 16 марта 2021 года. В Java 16 удалены опции предварительной компиляции (и Graal JIT ). [356] Сама реализация Java была и все еще пишется на C ++ , в то время как с Java 16 допускается использование более поздних версий C ++ 14 (но все еще не таких, например, C ++ 17 или C ++ 20 ). Код также был перемещен на GitHub (отказавшись от системы управления версиями Mercurial ).

  • JEP 338: Vector 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: сопоставление с образцом для instanceof
  • JEP 395: Записи
  • JEP 396: строго инкапсулировать внутренние компоненты JDK по умолчанию
  • JEP 397: Запечатанные классы (вторая версия)

Обновления Java 16 [ править ]

Java SE 17 [ править ]

JDK 17 - это следующий выпуск с долгосрочной поддержкой (LTS), который сейчас находится в стадии активной разработки [359], который должен выйти в сентябре 2021 года, если текущие 6-месячные циклы выпуска продолжатся. Ожидается, что Java 17 станет вторым выпуском с долгосрочной поддержкой (LTS) после перехода на новую 6-месячную периодичность выпуска (первым из которых является Java 11).

  • JEP 356: Расширенные генераторы псевдослучайных чисел
  • JEP 382: новый конвейер рендеринга macOS
  • JEP 391: порт macOS / AArch64
  • JEP 398: исключить API-интерфейс апплета для удаления
  • JEP 410: удалить экспериментальный компилятор AOT и JIT

Обновления Java 17 [ править ]

Будущие функции [ править ]

  • Проект Valhalla : типы значений , объекты без идентичности, но с эффективным макетом памяти.
  • Project Panama : улучшенная совместимость с машинным кодом , позволяющая исходному коду Java вызывать функции и использовать типы данных из других языков более простым способом и с большей производительностью, чем сегодня.
  • Project Loom : виртуальные потоки , облегченная запланированная альтернатива пользовательскому режиму стандартным управляемым потокам ОС. Виртуальные потоки сопоставляются с потоками ОС во взаимосвязи «многие-ко-многим», в отличие от отношения «многие-к-одному» из исходной реализации зеленых потоков в ранних версиях Java.

Реализации [ править ]

Официально поддерживаемая платформа Java , впервые разработанная в Sun, а теперь управляемая Oracle, - это Java SE . Релизы основаны на проекте OpenJDK , который является бесплатным проектом с открытым исходным кодом и открытой моделью разработки . Однако существуют и другие реализации Java - отчасти из-за ранней истории Java как проприетарного программного обеспечения , в то время как некоторые реализации были созданы, чтобы предложить некоторые преимущества по сравнению со стандартной реализацией, часто в результате некоторых научных исследований или исследований, спонсируемых корпорациями. Многие дистрибутивы Linux включают сборки OpenJDK через проект IcedTea, начатый Red Hat., который обеспечивает более простую среду сборки и интеграции .

Visual J ++ и виртуальная машина Microsoft Java были созданы как несовместимые реализации. После иска Sun против Microsoft Microsoft отказалась от него и начала работу над платформой .NET .

Доступны и другие проприетарные реализации Java, такие как Zing от Azul ; Кроме того, Azul предлагает сертифицированные сборки OpenJDK с открытым исходным кодом под псевдонимом Zulu.

До выпуска OpenJDK, хотя реализация Sun все еще оставалась частной, был создан проект GNU Classpath, чтобы предоставить бесплатную реализацию платформы Java с открытым исходным кодом. С момента выпуска JDK 7, когда OpenJDK стал официальной эталонной реализацией, первоначальная мотивация для проекта GNU Classpath почти полностью исчезла, и его последний выпуск был в 2012 году.

Проект Apache Harmony был запущен незадолго до выпуска OpenJDK. После первоначального выпуска исходного кода Sun, проект Harmony продолжился, работая над реализацией по льготной лицензии , в отличие от защитной лицензии, выбранной для OpenJDK. Позже Google разработал Android и выпустил его по нестрогой лицензии. Android включил части проекта Harmony, дополненный собственной виртуальной машиной Google Dalvik и ART . С тех пор Apache Harmony был закрыт, а Google переключил использование компонентов Harmony на эквивалентные из OpenJDK.

И Jikes, и Jikes RVM - это исследовательские проекты с открытым исходным кодом, разработанные IBM .

Существует несколько других реализаций, которые начинались как проприетарное программное обеспечение, но теперь имеют открытый исходный код. IBM изначально разработала OpenJ9 как проприетарный J9, [361], но с тех пор перелицензировала проект и пожертвовала его Eclipse Foundation . JRockit - это проприетарная реализация, приобретенная Oracle и включенная в последующие версии OpenJDK.

Ссылки [ править ]

  1. ^ a b c d «План поддержки Oracle Java SE» . www.oracle.com .
  2. ^ a b «План поддержки Oracle Java SE» . Проверено 17 февраля 2021 .
  3. ^ Рейнхольд, Марк (2018-08-17). "Что означает LTS для OpenJDK?" . Проверено 28 августа 2018 .
  4. ^ «Сборки раннего доступа JDK 17» . jdk.java.net . Проверено 19 марта 2021 .
  5. ^ "Поддержка | AdoptOpenJDK" . accepttopenjdk.net .
  6. ^ «Расширенная поддержка Amazon Corretto 8 и 11» .
  7. ^ «Дорожная карта поддержки Azul Java» .
  8. ^ a b c «План поддержки Azul Java | Жизненный цикл поддержки Azul | Java 8 eol» . Азул . Источник 2021-02-19 .
  9. ^ Рейнхольд, Марк (2017-09-06). «Быстрое продвижение Java вперед» . Проверено 16 сентября 2017 .
  10. ^ "Вызов" всех на борт "шестимесячного поезда по выпуску Java" . theserverside.com. 2017-09-12 . Проверено 16 сентября 2017 .
  11. ^ "JavaSoft поставляет Java 1.0" . Архивировано из оригинального 10 марта 2007 года . Проверено 5 февраля 2008 .
  12. ^ а б Ортис, К. Энрике; Жигер, Эрик (2001). Профиль мобильного информационного устройства для Java 2 Micro Edition: Руководство разработчика . Джон Вили и сыновья . ISBN 978-0471034650. Проверено 30 мая 2012 года .
  13. ^ Версия 1.1 пресс-релиз , вс.
  14. Теннант, Дон (15 марта 1997 г.). «Taligent готовит большие технологии интернационализации» . Компьютерный мир . IDG . Проверено 16 января 2021 года .
  15. ^ Версия 1.2 пресс-релиз , вс.
  16. ^ Версия 1.3 пресс-релиз , вс.
  17. ^ "Версия 1.3 полный список изменений" . Архивировано из оригинала на 7 ноября 2006 года.
  18. ^ Версия 1.4 пресс-релиз .
  19. ^ "Версия 1.4 полный список изменений" . Архивировано из оригинала 8 января 2007 года.
  20. ^ a b «Платформа Java 2 5.0 и Java для бизнеса 5.0» . Корпорация Oracle . 2010 . Проверено 22 октября 2012 года .
  21. ^ "Версия 1.5.0 или 5.0?" . Oracle.
  22. ^ Версия 1.5 для прессы .
  23. ^ Версия 1.5 полный список изменений .
  24. ^ "JSR 133, 2.4 Почему существующие спецификации не удовлетворяют эту потребность?" . Oracle.
  25. Перейти ↑ Goetz, Brian (2006). Параллелизм Java на практике . Эддисон-Уэсли. п. xvii. ISBN 0-321-34960-1.
  26. ^ «Java 5.0 больше не доступна на Java.com» . Java.com. 2009-11-03 . Проверено 30 сентября 2016 .
  27. ^ Lineback, Натан. «Разное Windows 2 - страница« Поджаренные технологии Натана »» . Проверено 30 сентября 2016 .
  28. ^ Вырезание, Kebin (3 мая 2005). «Java 5 доступна для Mac OS X» . Sitepoint . Проверено 30 сентября 2016 года .
  29. ^ "Версия 1.5.0 или 5.0?" . Oracle.com . Проверено 18 апреля 2016 года .
  30. ^ «Oracle Java SE и Java for Business Critical Patch Update Advisory - февраль 2011 г.» . Проверено 15 февраля 2011 .
  31. ^ «Oracle Java SE Critical Patch Update Advisory - October 2011» . Проверено 18 октября 2011 .
  32. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - февраль 2012 г.» . Проверено 14 февраля 2012 .
  33. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - июнь 2012 г.» . Проверено 12 июня 2012 .
  34. ^ «Oracle Java SE Critical Patch Update Advisory - October 2012» . Проверено 14 августа 2012 .
  35. ^ «Oracle Java SE Critical Patch Update Advisory - февраль 2013 г.» . Проверено 19 февраля 2013 .
  36. ^ «Обновленный выпуск обновления критического исправления Oracle Java SE за февраль 2013 г.» . Проверено 19 февраля 2013 .
  37. ^ "Oracle Security Alert для CVE-2013-1493" . Проверено 4 марта 2013 .
  38. ^ «Oracle Java SE Critical Patch Update Advisory - April 2013» . Проверено 16 апреля 2013 .
  39. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - июнь 2013 г.» . Проверено 18 июня 2013 .
  40. ^ «Oracle Critical Patch Update Advisory - октябрь 2013 г.» . Проверено 15 октября 2013 .
  41. ^ «Oracle Critical Patch Update Advisory - январь 2014 г.» . Проверено 14 января 2014 .
  42. ^ «Oracle Critical Patch Update Advisory - апрель 2014 г.» . Проверено 15 апреля 2014 .
  43. ^ «Oracle Critical Patch Update Advisory - июль 2014 г.» . Проверено 15 июля 2014 .
  44. ^ «Oracle Critical Patch Update Advisory - октябрь 2014 г.» . Проверено 16 октября 2014 .
  45. ^ «Oracle Critical Patch Update Advisory - январь 2015 г.» . Проверено 21 января 2015 .
  46. ^ «Oracle Critical Patch Update Advisory - апрель 2015 г.» . Проверено 14 апреля 2015 .
  47. ^ Название бренда Java .
  48. ^ Версия 6 , веб-заметки Java, Sun.
  49. ^ Версия 1.6 для печати .
  50. ^ Версия 1.6 полный список изменений .
  51. Java Lobby. Архивировано 13 октября 2008 г. в Wayback Machine .
  52. ^ "HotSpot Мустанга" . Архивировано из оригинала 2 января 2007 года.
  53. ^ Дарси, Джо (2008-08-03). «Удачная замена» . Проверено 29 июля 2009 .
  54. ^ «Установите Java 6 на Mac OS X Leopard | Gephi, программное обеспечение для визуализации графиков с открытым исходным кодом» . Gephi.org . Проверено 30 сентября 2016 .
  55. ^ «План поддержки Oracle Java SE» . Корпорация Oracle . 19 сентября 2012 . Проверено 22 октября 2012 года .
  56. ^ «Автообновление и обновление через панель управления Java JRE 6 заменит JRE 6 на JRE 7» . Корпорация Oracle . 19 февраля 2013 . Проверено 2 марта 2013 года .
  57. ^ «Java SE Development Kit 6, обновление 43, примечания к выпуску» . Корпорация Oracle . 4 марта 2013 . Проверено 4 марта 2013 года .
  58. ^ «Java SE Development Kit 6, обновление 45, примечания к выпуску» . Корпорация Oracle . 4 марта 2013 . Проверено 4 марта 2013 года .
  59. ^ «Примечания к выпуску обновления Java SE 6» . www.oracle.com .
  60. ^ «Примечания к выпуску обновления 7 Java SE6» . Oracle . Проверено 11 апреля 2013 .
  61. ^ a b c d "Технологии Oracle Java | Oracle" . www.oracle.com .
  62. ^ «Нимбус - Java.net» . Архивировано из оригинального 20 -го августа 2011 года . Дата обращения 1 февраля 2020 .
  63. ^ «Sun Java 6 Update 11 уже доступно, ожидает JavaFX» . FindMySoft.com . Проверено 13 ноября 2009 .
  64. ^ «Примечания к выпуску обновления 11 для Java SE 6» . www.oracle.com .
  65. ^ «Изменения в 1.6.0_12 (6u12)» . Sun Microsystems . Проверено 30 мая 2009 .
  66. ^ «Изменения в 1.6.0_13 (6u13)» . Sun Microsystems . Проверено 7 марта 2012 .
  67. ^ «Обновить примечания к выпуску» . Sun Microsystems . Проверено 30 мая 2009 .
  68. Скромный, Чарльз (13 мая 2008 г.). «JavaOne: сначала мусор» . infoq.com . Проверено 7 сентября 2008 .
  69. ^ Трус, Дэни (2008-11-12). «Java VM: пробуем новый сборщик мусора для JDK 7» . Архивировано из оригинала на 2011-12-08 . Проверено 22 января 2012 .
  70. ^ «Примечания к выпуску обновления 14 Java SE 6» . Sun Microsystems . Проверено 4 января 2010 .
  71. ^ «Точки останова не срабатывают в JDK 1.6.0_14» . Проверено 14 июля 2009 .
  72. ^ «Идентификатор ошибки: 6862295 Идентификатор потока JDWP изменяется во время сеанса отладки (что приводит к игнорированию точек останова)» . Проверено 22 июля 2009 .
  73. ^ «Изменения в 1.6.0_15 (6u15)» . Sun Microsystems .
  74. ^ «Изменения в 1.6.0_16 (6u16)» . Sun Microsystems . 2009-08-11 . Проверено 11 августа 2009 .
  75. ^ «Изменения в 1.6.0_17 (6u17)» . Sun Microsystems . 2009-11-04 . Проверено 13 ноября 2009 .
  76. ^ «Изменения в 1.6.0_18 (6u18)» . Sun Microsystems . 2010-01-13 . Проверено 18 января 2010 .
  77. ^ «Изменения в 1.6.0_19 (6u19)» . Sun Microsystems . 2010-03-30 . Проверено 30 марта 2010 .
  78. ^ «Изменения в 1.6.0_20 (6u20)» . Sun Microsystems . 2010-04-15 . Проверено 15 апреля 2010 .
  79. ^ «Изменения в 1.6.0_21 (6u21)» . Sun Microsystems . 2010-07-07 . Проверено 7 июля 2010 .
  80. ^ «Изменения в 1.6.0_22 (6u22)» . Корпорация Oracle . 2010-10-12 . Проверено 12 октября 2010 .
  81. ^ «Java SE 6, обновление 23» . Корпорация Oracle . 2010-12-08 . Проверено 8 декабря 2010 .
  82. ^ «Java SE 6, обновление 24» . Корпорация Oracle . 2011-02-15 . Проверено 15 февраля 2011 .
  83. ^ «Java SE 6, обновление 25» . Корпорация Oracle . 2011-04-11 . Проверено 24 апреля 2011 .
  84. ^ «Java SE 6, обновление 26» . Корпорация Oracle . 2011-06-07 . Проверено 7 июня 2011 .
  85. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - июнь 2011 г.» . www.oracle.com .
  86. ^ "Java SE 6 Обновление 27" . Корпорация Oracle . 2011-08-16 . Проверено 16 августа 2011 .
  87. ^ «Java SE 6, обновление 29» . Корпорация Oracle . 2011-10-18 . Проверено 18 октября 2011 .
  88. ^ «Oracle Java SE Critical Patch Update Advisory - October 2011» . www.oracle.com .
  89. ^ «Java SE 6, обновление 30» . Корпорация Oracle . Проверено 13 декабря 2011 .
  90. ^ «Java SE 6, обновление 31» . Корпорация Oracle . Проверено 17 февраля 2012 .
  91. ^ «Java 6 Update 32 не может установить ...» MSFN. Архивировано из оригинала на 2016-08-16 . Проверено 31 июля 2016 .
  92. ^ "Java SE 6 Обновление 32" . Корпорация Oracle . Проверено 3 мая 2012 .
  93. ^ "Java SE 6 Обновление 33" . Корпорация Oracle . Проверено 13 июня 2012 .
  94. ^ "Java SE 6 Обновление 34" . Корпорация Oracle . Проверено 15 августа 2012 .
  95. ^ "Java SE 6 Обновление 35" . Корпорация Oracle . Проверено 31 августа 2012 .
  96. ^ a b «Предупреждение безопасности Oracle для CVE-2012-4681» . Корпорация Oracle .
  97. ^ «Java SE 6, обновление 37» . Корпорация Oracle . Проверено 23 октября 2012 .
  98. ^ «Java SE 6, обновление 38» . Корпорация Oracle . Проверено 24 декабря 2012 .
  99. ^ Java SE Development Kit 6, обновление 38, исправления ошибок, Oracle.com
  100. ^ "Java SE 6 Обновление 39" . Корпорация Oracle . Проверено 1 февраля 2013 .
  101. ^ "Java SE 6 Обновление 41" . Корпорация Oracle . Проверено 19 февраля 2013 .
  102. ^ "Java SE 6 Обновление 43" . Корпорация Oracle . Проверено 4 марта 2013 .
  103. ^ a b «Java SE 6 (обновление 45)» . Корпорация Oracle . Проверено 16 апреля 2013 .
  104. ^ «Oracle Java SE Critical Patch Update Advisory - April 2013» . www.oracle.com .
  105. ^ "Зачем мне обновлять Java?" . java.com .
  106. ^ «Java SE Development Kit 7, обновление 25 (JDK 7u25)» . Корпорация Oracle . Проверено 19 июня 2013 . Базовые показатели безопасности для Java Runtime Environment (JRE) на момент выпуска JDK 7u25 указаны в следующей таблице: ... 1.6.0_51
  107. ^ a b «Обновление критического исправления Oracle Java - июнь 2013 г.» . www.oracle.com .
  108. ^ «Java SE Development Kit 7, обновление 45 (JDK 7u45)» . Корпорация Oracle . Проверено 17 октября 2013 . Базовые показатели безопасности для Java Runtime Environment (JRE) на момент выпуска JDK 7u45 указаны в следующей таблице: ... 1.6.0_65
  109. ^ a b «Oracle Critical Patch Update - октябрь 2013 г.» . www.oracle.com .
  110. ^ «Java SE Development Kit 7, обновление 51 (JDK 7u51)» . Корпорация Oracle . Проверено 19 января 2014 . Базовые показатели безопасности для Java Runtime Environment (JRE) на момент выпуска JDK 7u51 указаны в следующей таблице: ... 1.6.0_71
  111. ^ «Java SE Development Kit 6, обновление 71, исправления ошибок» . Корпорация Oracle . Проверено 19 января 2014 .
  112. ^ «Java SE Development Kit 6, обновление 75, исправления ошибок» . Корпорация Oracle . Проверено 11 мая 2014 .
  113. ^ a b «Oracle Critical Patch Update - апрель 2014 г.» . www.oracle.com .
  114. ^ «Java SE Development Kit 6, обновление 81, исправления ошибок» . Корпорация Oracle . Проверено 16 июля 2014 .
  115. ^ «Oracle Critical Patch Update - июль 2014 г.» . www.oracle.com .
  116. ^ «Java SE Development Kit 6, обновление 85, исправления ошибок» . Корпорация Oracle . Проверено 26 января 2015 .
  117. ^ «Oracle Critical Patch Update - октябрь 2014 г.» . www.oracle.com .
  118. ^ «Java SE Development Kit 6, обновление 91, исправление ошибок» . Корпорация Oracle . Проверено 26 января 2015 .
  119. ^ «Эталонная реализация Java SE 6» . Корпорация Oracle . Проверено 24 октября 2016 .
  120. ^ «Oracle Critical Patch Update Advisory - январь 2015 г.» . www.oracle.com .
  121. ^ «Oracle Critical Patch Update - апрель 2015 г.» . www.oracle.com .
  122. ^ «Oracle Critical Patch Update Advisory - июль 2015 г.» . Проверено 15 июля 2015 .
  123. ^ «Oracle Critical Patch Update Advisory - октябрь 2015 г.» . Проверено 20 октября 2015 .
  124. ^ «Oracle Critical Patch Update Advisory - январь 2016 г.» . Проверено 20 января 2016 .
  125. ^ a b «Предупреждение безопасности Oracle для CVE-2016-0603» . Проверено 8 февраля 2016 .
  126. ^ «Oracle Critical Patch Update CVSS V2 Risk Matrices - апрель 2016 г.» . Проверено 21 апреля 2016 .
  127. ^ a b «Рекомендации по обновлению критических исправлений Oracle - июль 2016 г.» . Проверено 19 июля 2016 .
  128. ^ a b «Рекомендации по обновлению критических исправлений Oracle - октябрь 2016 г.» . Проверено 18 октября 2016 .
  129. ^ a b «Рекомендации по обновлению критических исправлений Oracle - январь 2017 г.» . Проверено 17 января 2017 .
  130. ^ «Oracle Critical Patch Update Advisory - апрель 2017 г.» . Проверено 18 апреля 2017 .
  131. ^ a b «Рекомендации по обновлению критических исправлений Oracle - июль 2017 г.» . Проверено 18 июля 2017 .
  132. ^ a b «Рекомендации по обновлению критических исправлений Oracle - октябрь 2017 г.» . Проверено 20 октября 2017 .
  133. ^ a b «Рекомендации по обновлению критических исправлений Oracle - январь 2018 г.» . Проверено 20 октября 2017 .
  134. ^ a b «Рекомендации по обновлению критических исправлений Oracle - апрель 2018 г.» . Проверено 17 апреля 2018 .
  135. ^ a b «Рекомендации по обновлению критических исправлений Oracle - июль 2018 г.» . Проверено 17 июля 2018 .
  136. ^ a b «Рекомендации по обновлению критических исправлений Oracle - октябрь 2018 г.» . Проверено 18 октября 2018 .
  137. ^ JDK7 , вс .
  138. ^ «Знакомство с Java 7 Webcast: Продвижение Java вперед» . Корпорация Oracle . 7 июля 2011 . Проверено 30 мая 2012 года .
  139. ^ a b "JDK 7" . openjdk.java.net .
  140. ^ "Вехи JDK 7" . OpenJDK . Корпорация Oracle . Проверено 30 мая 2012 года .
  141. ^ Миллер, Алекс. «Ява 7» . Проверено 30 мая 2008 .
  142. ^ «JSR 292: Поддержка динамически типизированных языков на платформе Java» . Проверено 25 августа 2013 года .
  143. ^ «Сжатый ой в JVM Hotspot» . OpenJDK . Проверено 1 августа 2012 .
  144. ^ «Параметры виртуальной машины Java HotSpot» . Oracle . Проверено 11 апреля 2013 .
  145. ^ «Улучшения языка программирования Java» . Download.oracle.com . Проверено 15 января 2013 .
  146. ^ "Строки в операторах переключателя" . Download.oracle.com . Проверено 15 января 2013 .
  147. ^ «Заявление о попытках с ресурсами» . Download.oracle.com . Проверено 15 января 2013 .
  148. ^ «Вывод типа для создания универсального экземпляра» . Download.oracle.com . Проверено 15 января 2013 .
  149. ^ «Улучшенные предупреждения компилятора при использовании неповторяемых формальных параметров с методами Varargs» . Download.oracle.com . Проверено 15 января 2013 .
  150. ^ «Двоичные литералы» . Download.oracle.com . Проверено 15 января 2013 .
  151. ^ «Подчеркивание в числовых литералах» . Download.oracle.com . Проверено 15 января 2013 .
  152. ^ «Перехват нескольких типов исключений и повторное отображение исключений с улучшенной проверкой типов» . Download.oracle.com . Проверено 15 января 2013 .
  153. ^ "Параллелизм JSR-166" . Проверено 16 апреля 2010 .
  154. ^ "Файловый ввод-вывод (с NIO.2)" . Java.sun.com. 2008-03-14 . Проверено 15 января 2013 .
  155. ^ "Устаревший код ввода-вывода файла" . Java.sun.com. 2012-02-28 . Проверено 15 января 2013 .
  156. ^ «Возможности JDK 7» . OpenJDK. 2011-07-28 . Проверено 15 марта 2013 .
  157. ^ «Введение в наборы правил развертывания» . Oracle. 2013-08-21 . Проверено 22 января 2019 .
  158. ^ "JavaOne 2011 Keynote" . Oracle. Архивировано из оригинала на 2011-10-26.
  159. ^ а б «Проект Пазл» . OpenJDK.
    «Системные требования Java-модуля - ПРОЕКТ 12» . Oracle.
    Криль, Пол (18 июля 2012 г.). «Проект Jigsaw отложен до Java 9» . InfoWorld . Проверено 15 июля 2020 .
  160. ^ «Автообновление Java 7 и Java 6» . Oracle.
  161. ^ Таблица критических обновлений показывает четыре даты в год.
  162. ^ «Конец общедоступных обновлений Java 7» . После апреля 2015 года Oracle больше не будет публиковать обновления Java SE 7 на своих общедоступных сайтах загрузки. Существующие загрузки Java SE 7, уже опубликованные по состоянию на апрель 2015 года, останутся доступными в Java Archive в Oracle Technology Network. Разработчикам и конечным пользователям рекомендуется обновиться до более свежих версий Java SE, которые остаются доступными для общедоступной загрузки, чтобы продолжать получать общедоступные обновления и улучшения безопасности. [..] Июль 2015 г .: Обновления для Java 7 больше не доступны для широкой публики. Oracle предлагает обновления для Java 7 только для клиентов, которые приобрели поддержку Java или имеют продукты Oracle, для которых требуется Java 7.
  163. ^ «План поддержки Oracle Java SE» . Корпорация Oracle. 2014-12-19 . Проверено 7 января 2015 .
  164. ^ «Примечания к выпуску JDK 7» . www.oracle.com .
  165. ^ "7u1-relnotes" . www.oracle.com .
  166. ^ "7u2-relnotes" . www.oracle.com .
  167. ^ «Примечания к выпуску Java SE 7, обновление 3» . www.oracle.com .
  168. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - февраль 2012 г.» . www.oracle.com .
  169. ^ «Примечания к выпуску Java SE 7, обновление 4» . www.oracle.com .
  170. ^ «Примечания к выпуску обновления 5 для Java SE Development Kit 7» . www.oracle.com .
  171. ^ «Рекомендации по обновлению критических исправлений Oracle Java SE - июнь 2012 г.» . www.oracle.com .
  172. ^ «Примечания к выпуску обновления 6 для Java SE Development Kit 7» . www.oracle.com .
  173. ^ «Java SE 7 (обновление 6) выпущено» . Архивировано из оригинального 27 -го октября 2012 года.
  174. ^ «Примечания к выпуску обновления 7 Java SE Development Kit 7» . www.oracle.com .
  175. ^ «Примечания к выпуску обновления 9 для Java SE Development Kit 7» . www.oracle.com .
  176. ^ «Oracle Java SE Critical Patch Update Advisory - October 2012» . www.oracle.com .
  177. ^ «Примечания к выпуску обновления 10 для Java SE Development Kit 7» . www.oracle.com .
  178. ^ «Примечания к выпуску JDK 7u11» . www.oracle.com .
  179. ^ «Oracle Security Alert для CVE-2013-0422» . Корпорация Oracle .
  180. ^ «Oracle Java SE Critical Patch Update Advisory - февраль 2013 г.» . www.oracle.com .
  181. ^ «Примечания к выпуску обновления 15 для Java SE Development Kit 7» . www.oracle.com .
  182. ^ «Примечания к выпуску обновления 17 для Java SE Development Kit 7» . www.oracle.com .
  183. ^ «Примечания к выпуску обновления 21 для Java SE Development Kit 7» . www.oracle.com .
  184. ^ «Примечания к выпуску обновления 25 для Java SE Development Kit 7» . www.oracle.com .
  185. ^ «Oracle выпускает исправления для 40 дыр в Java - Безопасность H: новости и возможности» . www.h-online.com .
  186. ^ «Примечания к выпуску обновления 40 для Java SE Development Kit 7» . www.oracle.com .
  187. ^ «Java SE Development Kit 7, обновление 40, исправления ошибок» . www.oracle.com .
  188. ^ «Выпущен Oracle JDK 7u40 - функции безопасности, жесткая установка ARM, Java Mission Control и многое другое» . Архивировано из оригинального 2 -го октября 2013 года .
  189. ^ «Примечания к выпуску обновления 45 Java SE Development Kit 7» . www.oracle.com .
  190. ^ «Примечания к выпуску обновления 51 для Java SE Development Kit 7» . www.oracle.com .
  191. ^ Oracle исправит Java и другие продукты во вторник , ZDNet ,
  192. ^ «Oracle Critical Patch Update - январь 2014 г.» . www.oracle.com .
  193. ^ «Примечания к выпуску обновления 55 Java SE Development Kit 7» . www.oracle.com .
  194. ^ «Java SE Development Kit 7, обновление 55, исправления ошибок» . www.oracle.com .
  195. ^ «Примечания к выпуску обновления 60 для Java SE Development Kit 7» . www.oracle.com .
  196. ^ «Примечания к выпуску Java Mission Control 5.3» . www.oracle.com .
  197. ^ «Java SE Development Kit 7, обновление 60, исправления ошибок» . www.oracle.com .
  198. ^ «Примечания к выпуску обновления 65 для Java SE Development Kit 7» . www.oracle.com .
  199. ^ «Java SE Development Kit 7, обновление 65, исправления ошибок» . www.oracle.com .
  200. ^ a b «Примечания к выпуску обновления 67 для Java SE Development Kit 7» . www.oracle.com .
  201. ^ «Примечания к выпуску обновления 71 для Java SE Development Kit 7» . www.oracle.com .
  202. ^ «Java SE Development Kit 7, обновление 71, исправления ошибок» . www.oracle.com .
  203. ^ «Примечания к выпуску обновления 72 для Java SE Development Kit 7» . www.oracle.com .
  204. ^ a b «Объяснение выпусков ЦП и блоков питания Java» . www.oracle.com .
  205. ^ «Java SE Development Kit 7, обновление 72, исправления ошибок» . www.oracle.com .
  206. ^ «Примечания к выпуску обновления 75 Java SE Development Kit 7» . www.oracle.com .
  207. ^ «Java SE Development Kit 7 Update 75, исправления ошибок» . www.oracle.com .
  208. ^ «Примечания к выпуску обновления 76 для Java SE Development Kit 7» . www.oracle.com .
  209. ^ «Java SE Development Kit 7, обновление 76, исправления ошибок» . www.oracle.com .
  210. ^ «Примечания к выпуску обновления 79 Java SE Development Kit 7» . www.oracle.com .
  211. ^ «Java SE Development Kit 7, обновление 79, исправления ошибок» . www.oracle.com .
  212. ^ «Примечания к выпуску обновления 80 для Java SE Development Kit 7» . www.oracle.com .
  213. ^ «Java SE Development Kit 7, обновление 80, исправления ошибок» . www.oracle.com .
  214. ^ «Oracle Critical Patch Update Advisory - июль 2015 г.» . www.oracle.com .
  215. ^ «Oracle Critical Patch Update Advisory - октябрь 2015 г.» . www.oracle.com .
  216. ^ «Oracle Critical Patch Update - январь 2016 г.» . www.oracle.com . Проверено 20 января 2016 .
  217. ^ «Java SE Development Kit 7, обновление 99» . Проверено 23 марта 2016 .
  218. ^ «Oracle Critical Patch Update Advisory - апрель 2016 г.» . Проверено 18 апреля 2016 .
  219. ^ «Oracle Critical Patch Update Advisory - апрель 2017 г.» . Проверено 18 апреля 2017 .
  220. ^ «Oracle Critical Patch Update Advisory - январь 2019 г.» . Проверено 18 апреля 2019 .
  221. ^ «Oracle Critical Patch Update Advisory - апрель 2019 г.» . Проверено 18 апреля 2019 .
  222. ^ «Oracle Critical Patch Update Advisory - июль 2019 г.» . Проверено 7 января 2020 .
  223. ^ «Oracle Critical Patch Update Advisory - октябрь 2019 г.» . Проверено 7 января 2020 .
  224. ^ «Oracle Critical Patch Update Advisory - январь 2020 г.» . Проверено 22 апреля 2021 .
  225. ^ «Oracle Critical Patch Update Advisory - апрель 2020 г.» . Проверено 22 апреля 2021 .
  226. ^ «Oracle Critical Patch Update Advisory - июль 2020 г.» . Проверено 22 апреля 2021 .
  227. ^ «Oracle Critical Patch Update Advisory - октябрь 2020 г.» . Проверено 22 апреля 2021 .
  228. ^ «Oracle Critical Patch Update Advisory - январь 2021 г.» . Проверено 22 апреля 2021 .
  229. ^ «Oracle Critical Patch Update Advisory - апрель 2021 г.» . Проверено 22 апреля 2021 .
  230. ^ «Предлагаемое новое расписание для Java 8» . 2013-04-18 . Проверено 19 апреля 2013 .
  231. ^ "JDK 8" . OpenJDK. 2013-04-18 . Проверено 28 января 2014 .
  232. ^ «Возможности JDK 8» . OpenJDK. 2014-01-28 . Проверено 28 января 2014 .
  233. ^ "JSR 337" . Проверено 30 января 2014 .
  234. ^ «Возможности Java 7» . Sun Microsystems. 2010-02-09 . Проверено 16 апреля 2010 .
  235. ^ a b «Развитие интерфейса с помощью методов виртуального расширения» (PDF) . Брайан Гетц. 2011-07-20 . Проверено 27 марта 2014 .
  236. ^ «Лямбда-выражения для языка программирования Java» . Брайан Гетц. 2012-10-23 . Проверено 27 марта 2014 .
  237. ^ «Учебники по Java: методы по умолчанию» . Oracle. Архивировано из оригинала на 2017-05-23 . Проверено 27 марта 2014 .
  238. ^ Gafter, Нил (2006-08-18). «Замыкания для Java» . Проверено 9 марта 2008 .
  239. Гослинг, Джеймс (31 января 2008). «Замыкания» . Архивировано из оригинала на 2011-07-22 . Проверено 9 марта 2008 .
  240. Рейнхольд, Марк (28 ноября 2009 г.). «Замыкания для Java» . Проверено 24 ноября 2009 .
  241. ^ "JEP 104: Аннотации к типам Java" . openjdk.java.net .
  242. ^ Дарси, Джо. «API беззнаковой целочисленной арифметики теперь в JDK 8» . blogs.oracle.com .
  243. ^ «JEP 120: Повторяющиеся аннотации» . openjdk.java.net .
  244. ^ «JEP 150: API даты и времени» . openjdk.java.net .
  245. ^ "JEP 178: Статически связанные библиотеки JNI" . openjdk.java.net .
  246. ^ «JEP 153: Запуск приложений JavaFX» . openjdk.java.net .
  247. ^ «JEP 122: Удалить постоянное поколение» . openjdk.java.net .
  248. ^ «Сертифицированные системные конфигурации Oracle JDK 8 и JRE 8» . Корпорация Oracle . Проверено 15 апреля 2014 .
  249. ^ Stahl, Хенрик (2014-07-11). «Обновлено: будущее Java в Windows XP» . Корпорация Oracle . Архивировано из оригинала на 2014-11-11 . Проверено 11 ноября 2014 . JDK 8 не поддерживается в Windows XP. В ранних версиях JDK 8 были известные проблемы с установщиком в Windows XP, которые не позволяли установить его без ручного вмешательства. Это было решено в JDK 8 Update 25. Важным моментом здесь является то, что мы больше не можем предоставлять полные гарантии для Java в Windows XP, поскольку ОС больше не обновляется Microsoft. Мы настоятельно рекомендуем пользователям перейти на более новую версию Windows, которая все еще поддерживается Microsoft, чтобы поддерживать стабильную и безопасную среду.
  250. ^ Wieldt, Tori (27 октября 2014). «Java SE 8 на Java.com» . blog.oracle.com . Архивировано из оригинального 29 ноября 2014 года . Проверено 24 ноября 2014 года .
  251. ^ «Java SE Development Kit 8, обновление 5 (JDK 8u5)» . oracle.com . Проверено 28 апреля 2014 .
  252. ^ «Java SE Development Kit 8, обновление 11 (JDK 8u11)» . oracle.com . Проверено 16 июля 2014 .
  253. ^ «18 исправлений ошибок безопасности» . oracle.com . Проверено 16 июля 2014 .
  254. ^ «Java SE Development Kit 8, обновление 20 (JDK 8u20)» . oracle.com . Проверено 27 августа 2014 .
  255. ^ «Java SE Development Kit 8, обновление 20, исправление ошибок» . www.oracle.com .
  256. ^ «Java SE Development Kit 8, обновление 25 (JDK 8u25)» . oracle.com . Проверено 14 октября 2014 .
  257. ^ «Java SE Development Kit 8, обновление 31 (JDK 8u31)» . oracle.com . Проверено 21 января 2015 .
  258. ^ «Java SE Development Kit 8, обновление 40 (JDK 8u40)» . oracle.com . Проверено 4 марта 2015 .
  259. ^ «Java SE Development Kit 8, обновление 40, исправления ошибок» . www.oracle.com .
  260. ^ «Java SE Development Kit 8, обновление 45 (JDK 8u45)» . oracle.com . Проверено 15 апреля 2015 .
  261. ^ «Java SE Development Kit 8, обновление 51 (JDK 8u51)» . oracle.com . Проверено 14 июля 2015 .
  262. ^ «Java SE Development Kit 8, обновление 60 (JDK 8u60)» . oracle.com . Проверено 18 августа 2015 .
  263. ^ «Java SE Development Kit 8, обновление 60, исправления ошибок» . www.oracle.com .
  264. ^ «Java SE Development Kit 8, обновление 65 (JDK 8u65)» . oracle.com . Проверено 20 октября 2015 .
  265. ^ «Java SE Development Kit 8, обновление 66, примечания к выпуску» . oracle.com . Проверено 22 октября 2015 года .
  266. ^ «Java SE Development Kit 8, обновление 71, примечания к выпуску» . oracle.com . Проверено 20 января 2015 года .
  267. ^ «Java SE Development Kit 8, обновление 71, исправления ошибок» . oracle.com . Проверено 20 января 2015 года .
  268. ^ «Java SE Development Kit 8, обновление 73, примечания к выпуску» . oracle.com . Проверено 6 февраля, 2016 .
  269. ^ «Java SE Development Kit 8, обновление 74, примечания к выпуску» . oracle.com . Проверено 6 февраля, 2016 .
  270. ^ «Java SE Development Kit 8, примечания к выпуску обновления 77» . oracle.com . Проверено 23 марта 2016 года .
  271. ^ «Java SE Development Kit 8, обновление 91, примечания к выпуску» . oracle.com . Проверено 23 марта 2016 года .
  272. ^ «Java SE Development Kit 8, примечания к выпуску обновления 92» . Проверено 23 марта 2016 года .
  273. ^ «Java SE Development Kit 8, обновление 101, примечания к выпуску» . Проверено 19 июля, 2016 .
  274. ^ «Java SE Development Kit 8, обновление 102, примечания к выпуску» . Проверено 19 июля, 2016 .
  275. ^ «Java SE Development Kit 8, обновление 111, примечания к выпуску» . Проверено 19 октября, 2016 .
  276. ^ «Java SE Development Kit 8, примечания к выпуску обновления 112» . Проверено 19 октября, 2016 .
  277. ^ «Java SE Development Kit 8, обновление 121, примечания к выпуску» . Проверено 17 января, 2016 .
  278. ^ «Java SE Development Kit 8, обновление 131, примечания к выпуску» . www.oracle.com . Проверено 18 апреля 2017 .
  279. ^ «Java SE Development Kit 8, обновление 141, примечания к выпуску» . www.oracle.com . Проверено 18 июля 2017 .
  280. ^ «Java SE Development Kit 8, обновление 144, примечания к выпуску» . www.oracle.com . Проверено 26 июля 2017 .
  281. ^ «Java SE Development Kit 8, обновление 151, примечания к выпуску» . www.oracle.com . Проверено 19 октября 2017 .
  282. ^ «Java SE Development Kit 8, обновление 152, примечания к выпуску» . www.oracle.com . Проверено 19 октября 2017 .
  283. ^ «Java SE Development Kit 8, обновление 161, примечания к выпуску» . www.oracle.com . Проверено 18 января 2018 .
  284. ^ «Java SE Development Kit 8, обновление 162, примечания к выпуску» . www.oracle.com . Проверено 16 января 2018 .
  285. ^ «Java SE Development Kit 8, обновление 171, примечания к выпуску» . www.oracle.com . Проверено 17 апреля 2018 .
  286. ^ «Java SE Development Kit 8, обновление 172, примечания к выпуску» . www.oracle.com . Проверено 17 апреля 2018 .
  287. ^ «Java SE Development Kit 8, обновление 181, примечания к выпуску» . www.oracle.com . Проверено 20 июля 2018 .
  288. ^ «Java SE Development Kit 8, обновление 191, примечания к выпуску» . www.oracle.com . Проверено 16 октября 2018 .
  289. ^ «Java SE Development Kit 8, обновление 192 примечания к выпуску» . www.oracle.com . Проверено 16 октября 2018 .
  290. ^ «Java SE Development Kit 8, обновление 201, примечания к выпуску» . www.oracle.com . Проверено 16 января 2019 .
  291. ^ «Java SE Development Kit 8, обновление 202, примечания к выпуску» . www.oracle.com . Проверено 16 января 2019 .
  292. ^ «Java SE Development Kit 8, обновление 211, примечания к выпуску» . www.oracle.com . Проверено 16 апреля 2019 .
  293. ^ a b «Java SE Development Kit 8, обновление 212, примечания к выпуску» . www.oracle.com . Проверено 16 апреля 2019 .
  294. ^ «Java SE Development Kit 8, обновление 221, примечания к выпуску» . www.oracle.com . Проверено 30 июля 2019 .
  295. ^ «Java SE Development Kit 8, обновление 231, примечания к выпуску» . www.oracle.com . Проверено 16 октября 2019 .
  296. ^ «Java SE Development Kit 8, обновление 241, примечания к выпуску» . www.oracle.com . Проверено 18 января 2020 .
  297. ^ «Java SE Development Kit 8, обновление 251, примечания к выпуску» . www.oracle.com . Проверено 14 апреля 2020 .
  298. ^ «Java SE Development Kit 8, обновление 261, примечания к выпуску» . www.oracle.com . Проверено 14 июля 2020 .
  299. ^ «Java SE Development Kit 8, обновление 271, примечания к выпуску» . www.oracle.com . Проверено 10 октября 2020 .
  300. ^ «Java SE Development Kit 8, обновление 281, примечания к выпуску» . www.oracle.com . Проверено 25 января 2021 .
  301. ^ «Java SE Development Kit 8, обновление 291, примечания к выпуску» . www.oracle.com . Проверено 20 апреля 2021 .
  302. ^ "JDK 9" . Проверено 16 июня 2017 .
  303. ^ «Спецификация модульности Java против Red Hat, IBM отклонена» . InfoWorld . 2017-05-09 . Проверено 16 июня 2017 .
  304. ^ Chirgwin, Ричард (2 июля 2017). «Релиз Java 9 снова в нужном русле, сообщество голосует« за » » . tweet_btn () . Проверено 29 июля 2017 .
  305. ^ "Java Platform, Standard Edition Oracle JDK 9 Migration Guide" . docs.oracle.com . Проверено 15 мая 2018 .
  306. ^ «OpenJDK: Проект Кулла» .
  307. Рианна Ли, Дуг (15 января 2015 г.). «[интерес-параллелизм] jdk9 Кандидатские классы Flow и Submission Publisher» .
  308. ^ «Поток (Java SE 9 и JDK 9)» . docs.oracle.com .
  309. ^ Реактивные потоки выпускают первую стабильную версию для JVM
  310. ^ «JDK 9: Первый релиз-кандидат» . 2017-08-09 . Проверено 21 августа 2017 .
  311. ^ «Java 9: ​​Дата выпуска и новые функции» . techworld.com. 2017-07-21 . Проверено 16 сентября 2017 .
    «JDK 9» . Корпорация Oracle . Проверено 16 сентября 2017 .
  312. ^ «Отметьте свой календарь: у Java 9 наконец-то есть дата выпуска» . 2015-05-07.
  313. ^ "Новый сборщик мусора Java 9: ​​что меняется? Что остается?" . 26 июня 2015 г.
  314. ^ «JavaOne: JavaFX 2, Java на iOS» .
  315. ^ «Java 9 Release Date Now March 2017» . 2016-01-05.
  316. ^ «Релиз JDK 9 отложен еще на четыре месяца» . Реестр . Проверено 14 октября 2016 .
  317. ^ «Примечания к выпуску Java Development Kit 9» . oracle.com. 21 сентября 2017 . Проверено 3 октября 2017 года .
  318. ^ «Примечания к выпуску JDK 9.0.1» . oracle.com. 2017-10-17 . Проверено 19 октября 2017 .
  319. ^ «Примечания к выпуску JDK 9.0.4» . oracle.com. 2018-01-16 . Проверено 16 января 2018 .
  320. ^ OpenJDK. «JDK 10» .
  321. ^ «Примечания к выпуску JDK 10» . oracle.com. 2018-03-20 . Проверено 20 марта 2018 .
  322. ^ «Примечания к выпуску JDK 10.0.1» . oracle.com. 2018-04-17 . Проверено 17 апреля 2018 .
  323. ^ «Исправления ошибок JDK 10.0.1» . oracle.com. 2018-04-17 . Проверено 17 апреля 2018 .
  324. ^ «Примечания к выпуску JDK 10.0.2» . oracle.com. 2018-07-17 . Проверено 16 апреля 2019 .
  325. ^ «Исправления ошибок JDK 10.0.2» . oracle.com. 2018-07-17 . Проверено 16 апреля 2019 .
  326. ^ OpenJDK. «JDK 11» .
  327. ^ "Руководство по миграции Oracle JDK" . Справочный центр Oracle . Проверено 27 сентября 2018 года .
  328. ^ "JDK 11" . openjdk.java.net. 2018-09-25 . Проверено 13 ноября 2018 .
  329. ^ «Примечания к выпуску JDK 11.0.1» . oracle.com. 2018-10-16 . Проверено 13 ноября 2018 .
  330. ^ «Примечания к выпуску JDK 11.0.2» . oracle.com. 2019-01-15 . Проверено 16 января 2019 .
  331. ^ «Примечания к выпуску JDK 11.0.3» . oracle.com. 2019-04-16 . Проверено 16 апреля 2019 .
  332. ^ «Примечания к выпуску JDK 11.0.4» . oracle.com. 2019-07-16 . Проверено 30 июля 2019 .
  333. ^ «Примечания к выпуску JDK 11.0.5» . oracle.com. 2019-10-15 . Проверено 16 октября 2019 .
  334. ^ «Примечания к выпуску JDK 11.0.6» . oracle.com. 2020-01-14 . Проверено 18 января 2020 .
  335. ^ «Примечания к выпуску JDK 11.0.7» . oracle.com. 2020-04-14 . Проверено 14 апреля 2020 .
  336. ^ «Примечания к выпуску JDK 11.0.8» . oracle.com . 2020-07-14 . Проверено 14 июля 2020 .
  337. ^ «Примечания к выпуску JDK 11.0.9» . oracle.com . 2020-10-20 . Проверено 3 ноября 2020 .
  338. ^ «Примечания к выпуску JDK 11.0.10» . oracle.com . 2021-01-19 . Источник 2021-01-20 .
  339. ^ «Примечания к выпуску JDK 11.0.11» . oracle.com . 2021-04-20 . Проверено 20 апреля 2021 .
  340. ^ OpenJDK. «12» .
  341. ^ «Примечания к выпуску JDK 12» . openjdk.java.net. 2019-03-19 . Проверено 19 марта 2019 .
  342. ^ «Примечания к выпуску JDK 12.0.1» . openjdk.java.net. 2019-04-16 . Проверено 16 апреля 2019 .
  343. ^ «Примечания к выпуску JDK 12.0.2» . openjdk.java.net. 2019-07-16 . Проверено 8 февраля 2021 .
  344. ^ oracle.com, Марк Рейнхолд в (17 сентября 2019 г.). «Java 13 / JDK 13: общедоступный» .
  345. ^ "JDK 13" . openjdk.java.net. 2019-09-17 . Проверено 17 сентября 2019 .
  346. ^ «Примечания к выпуску JDK 13.0.1» . oracle.com. 2019-10-15 . Проверено 16 октября 2019 .
  347. ^ «Примечания к выпуску Java SE Development Kit 13, 13.0.2» . www.oracle.com . Проверено 15 января 2020 .
  348. ^ oracle.com, Марк Рейнхолд в (17 марта 2020 г.). «Java 14 / JDK 14: общедоступный» .
  349. ^ "JDK 14" . openjdk.java.net. 2020-03-17 . Проверено 1 апреля 2020 .
  350. ^ «Примечания к выпуску Java SE Development Kit 14, 14.0.1» . www.oracle.com . Проверено 14 апреля 2020 .
  351. ^ «Примечания к выпуску Java SE Development Kit 14, 14.0.2» . www.oracle.com . Проверено 23 июля 2020 .
  352. ^ Гэвин Бирман; Брайан Гетц (сентябрь 2018 г.). «Сопоставление с образцом для Java» . cr.openjdk.java.net . Проверено 28 апреля 2021 .
  353. ^ "JDK 15" . openjdk.java.net. 2020-09-15 . Проверено 16 сентября 2020 .
  354. ^ «Примечания к выпуску JDK 15.0.1» . www.oracle.com. 2020-10-20 . Проверено 21 октября 2020 .
  355. ^ «Примечания к выпуску JDK 15.0.2» . www.oracle.com. 2021-01-19 . Проверено 25 января 2021 .
  356. ^ "[JDK-8255616] Удаление экспериментальных функций AOT и Graal JIT - Java Bug System" . bugs.openjdk.java.net . Источник 2021-02-19 .
  357. ^ "JDK 16" . openjdk.java.net . Источник 2021-02-19 .
  358. ^ «Примечания к выпуску JDK 16.0.1» . Oracle. 2021-04-20 . Проверено 28 апреля 2021 .
  359. ^ "JDK 17" . openjdk.java.net . 2020-12-23 . Проверено 30 декабря 2020 .
  360. ^ "JDK 17" . openjdk.java.net . 2021-02-24 . Проверено 27 февраля 2021 .
  361. ^ «Загрузки - Обзор» . 18 июля 2016 г.

Внешние ссылки [ править ]

  • Официальные загрузки Java SE
  • Ранняя история Java
  • Полный список изменений для J2SE 1.3
  • Полный список изменений для J2SE 1.4
  • Полный список изменений для J2SE 5.0
  • Полный список изменений для Java SE 6
  • Сайт разработки Mustang для Java SE 6
  • Заметки о выпуске Java SE 7
  • Поддерживаемые версии Sun Java и EOL
  • Архив загрузок для более старой версии Java