LINUX.ORG.RU

JDK 26

 , ,


0

2

17 марта 2026 года состоялся выпуск JDK 26 — эталонной реализации платформы Java SE (Platform version 26), специфицированной в JSR 401 в рамках Java Community Process. Об этом сообщается на официальном сайте OpenJDK.

Ключевые детали релиза:

  • Статус: General Availability (общедоступная версия).
  • Бинарные сборки: Production-ready бинарные файлы под лицензией GPL в сборке от Oracle уже доступны на jdk.java.net.
  • Разработка: Функции и график выпуска формировались через процесс JEP (JDK Enhancement Proposal) на основе JEP 2.0. Сам релиз подготовлен по процессу JDK Release Process (JEP 3).

График разработки и выхода JDK 26:

  • Rampdown Phase One (ветка от main line): 4 декабря 2025
  • Rampdown Phase Two: 15 января 2026
  • Initial Release Candidate: 5 февраля 2026
  • Final Release Candidate: 19 февраля 2026
  • General Availability: 17 марта 2026

Основные изменения:

  • 500: использование глубокой рефлексии для изменения полей, помеченных ключевым словом «final», теперь влечёт за собой предупреждение и в будущем планируется к удалению;
  • 504: удалён Applet API, применявшийся для запуска Java-приложений в браузере;
  • 516: реализована возможность использования предварительно формируемого кэша (AOT – ahead-of-time) c любыми сборщиками мусора;
  • 517: в API HTTP Client добавлена поддержка протокола HTTP/3;
  • 522: повышена производительность сборщика мусора G1;
  • 524: API для кодирования и декодирования объектов с криптографическими ключами, сертификатами и списками отозванных сертификатов в формате PEM обновлён до стадии Second Preview;
  • 525: API для cтруктурированного параллелизма (Structured Concurrency) обновлён до стадии Sixth Preview;
  • 526: API Lazy Constants для работы с объектами, содержащими неизменяемые данные, обновлён до Second Preview;
  • 529: предложена одиннадцатая тестовая реализация (Eleventh Incubator) Vector API, предоставляющего функции для векторных вычислений с использованием векторных инструкций процессоров x86_64 и AArch64;
  • 530: четвёртый предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе «instanceof» и в блоках «switch».

>>> Подробная информация об изменениях (рус., opennet.ru)

>>> Подробная информация об изменениях (англ., openjdk.org)

★★★★★

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 12)

Production-ready бинарные файлы под лицензией GPL уже доступны от Oracle.

Вот зачем это написано? А остальные васянские сборки не готовы в продакшн? Недостаточно оттестированы?

Lusine
()
Ответ на: комментарий от Lusine

Вот зачем это написано? А остальные васянские сборки не готовы в продакшн? Недостаточно оттестированы?

Других скорее всего просто еще нет, появятся через месяц-два.

maxcom ★★★★★
()
Ответ на: комментарий от Lusine

Это значит, что оракл собрал свои сборки и подтверждает, что они готовы в прод. Что там у Васянов, оракл не знает и ответственности за них не несет.

hippi90 ★★★★★
()

Ссылка openjdk.org не открывается.

Lusine
()

удалён Applet API

Помянем. :(((

Закопали очень интересную технологию! Закопали, конечно, давно, сейчас это просто снос памятника на могилке… Но всё равно обидно.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

530: четвёртый предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе «instanceof» и в блоках «switch».

https://openjdk.org/jeps/530 - прямо ящик Пандоры собрались открыть :(

borisych ★★★★★
()
Ответ на: комментарий от Lusine

Переформулировал более нейтрально. Но совсем не упоминать Oracle считаю неправильным.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

с той-же новости на opennet :компания Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен на улучшение переносимости между Java, JavaScript и Python

значит начнётся Санта-Барбара у JS и Питона :-) С (не)отверганием патчей, миграцией разрабов, изменениями стандартов и прочая-прочая. Oracle будет их гнуть под своё видение прекрасного

MKuznetsov ★★★★★
()

удалён Applet API, применявшийся для запуска Java-приложений в браузере;

Ушла эпоха, да хрен с ней.

WatchCat ★★★★★
()
Ответ на: комментарий от MKuznetsov

значит начнётся Санта-Барбара у JS и Питона :-) С (не)отверганием патчей, миграцией разрабов, изменениями стандартов и прочая-прочая. Oracle будет их гнуть под своё видение прекрасного

The novel approach that we are taking with Detroit is that we are embedding the V8 and CPython runtime directly inside the JVM process

Это просто означает, что в JRE прикрутят CPython и V8. Будет работать что-то вроде

ScriptEngine javascript = new ScriptEngineManager().getEngineByName("V8");
ScriptEngine python = new ScriptEngineManager().getEngineByName("CPython");

Не думаю, что они возьмутся переписывать сами движки, им это не нужно.

static_lab ★★★★★
()
Последнее исправление: static_lab (всего исправлений: 2)

эталонной реализации

а до этого «красим-белим» тут?

sunjob ★★★★★
()
Ответ на: комментарий от dynamic_cast

async/await нужен чтобы сократить накладные расходы в I/O-bound задачах. Для этого в джаве есть виртуальные треды. Планировщик в рантайме переключает виртуальные треды быстро и когда надо, чтобы сократить общее время отклика системы.

seiken ★★★★★
()

Мдя, по итогу новых фичей фактически 0. Кажется мы вернулись во времена Java 7.

vbr ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

И все остальные JVM based.

Что-то у .NET как-то слабенько с другими актуальными ЯП кроме стоковых, а ведь раньше пиарили именно как мультиязычный рантайм, даже IronPython как то стух?

@slozier slozier released this Dec 20, 2024
· 130 commits to main since this release
v3.4.2
f5bb69b

On behalf of the IronPython team, I'm very happy to announce the release of IronPython 3.4.2. The runtime targets are .NET Framework 4.6.2, .NET 6 and .NET 8. The baseline for IronPython 3.4 is Python 3.4.

Но хотя бы разработка живая, пытаются допилить до более новых версий пятона.

C# выпал даже из Haxe таргетов :( Но зато появился таргет JVM дополнительно к Java.

В то время как для JVM есть десятки живых ЯП, и среди них несколько относительно популярных и актуальных типа Groovy и JRuby.

Как было бы хорошо, если бы Ruby и другие ЯП одинаково (без учёта стандартных и других либ фреймворков) работали бы на .NET и JVM.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 3)
Ответ на: комментарий от vbr

Мдя, по итогу новых фичей фактически 0. Кажется мы вернулись во времена Java 7.

Это ж не LTS версия, а считай промежуточный билд. К 29 LTS наберется изменений.

maxcom ★★★★★
()
Ответ на: комментарий от hobbit

у мну была площадка где из-за этого людям приходилось держать W7+IE7+FF52esr

mumpster ★★★★★
()
Ответ на: комментарий от Lusine

Речь идёт о том, что Amazon Corretto и IBM Semeru релизнули свои JDK с Java 26, а, например, Axiom ещё нет (на момент написания коммента).

DarkAmateur ★★★★★
()

Я считаю что Java - худшее что случалось в истории компьютеров. Deepseek выдала мне что : Если уж говорить о настоящих проблемах:

Internet Explorer 6 и тормоз evolution веба

Visual Basic 6 с его уходом в небытие

PHP ранних версий с магическими кавычками

USB который всегда надо переворачивать (хотя исправили)

Java SE — просто инструмент. У него есть недостатки, но назвать его «худшим» — сильное преувеличение. Он дал работу миллионам людей, стабильно работает на миллиардах устройств и продолжает эволюционировать.

Neresar ★★
()
Ответ на: комментарий от Neresar

Я считаю что Java - худшее что случалось в истории компьютеров.

Склонен согласиться с Deepseek. Java как технология делает свою работу довольно хорошо.

DarkAmateur ★★★★★
()

Ех! Была у Томми такая Ява, он был бы с нами до сих пор.

urxvt ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Лучший ЯП стал еще лучше!

Лучший из худших, ну может быть.

P.S. Если что, худшие ЯП это все ЯП, которые были и будут созданы до 2027 года.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)

и в блоках «switch»

Это типа современного goto. Недавно попробовал эту канитель на максималках с паттерн матчингом, так такая макаронина получилась, что у меня мозги на бекрень и перестал структуру кода понимать. Потом всё в ООП стиле пределал и сразу красота, весь код на маленькие кусочки и всё по нужным классам. Красота и благоденствие.

Впрочем, для современной моды на ИИ это наверное пригодится, ибо ИИ в ООП не умеет. А ещё подумаю как это во всяких ржавых происходит, у них то альтернативы нет. Бедные разрабы.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от MoldAndLimeHoney

Вот и я о том же, посмотри мой коммент ещё раз, поправил )

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

JDK 26

Зачем?

Потому, что пришло время. Они каждые полгода выпускают новую версию. В сентябре будет 27.

Лично мне это тоже кажется странноватым подходом. По-мне версию надо увеличивать, когда готовы какие-то серьёзные обновления языка. Причём не просто сахарок. По-мне текущая версия тянет максимум на Java 10. Java 9 это модули, Java 10 это var + records + switch + вся остальная мелочёвка. Вот когда сделают примитивные типы в шаблонах, структуры, деструктуризацию, nullable типы, вот это вот всё, что они варят уже лет 10, тогда можно считать, что вышла Java 11.

А то, что они HTTP/3 сделали в HttpClient, это на мажорную версию не тянет. Лучше бы они там socks proxy поддержку сделали, до сих пор приходится URLConnection использовать.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 3)
Ответ на: комментарий от vbr

Тому щё маркетоиды. Сначала ушли от 1.5 назвав её Java 5. А потом с версии этак 9-й или 10-й запустили печатный станок версий.

WatchCat ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.