Задумывались ли вы когда-нибудь, не устаревает ли ваш любимый язык программирования тихо, подобно любимому, но устаревшему гаджету, собирающему пыль? Java 26 только что вышла, и она готова заявить: не только она не устарела, но и активно перестраивается для следующего акта цифровой эпохи. Это не просто точечный релиз; это ощущается как фундаментальный платформенный сдвиг, тихий, но обещающий вызвать цепную реакцию. Мы говорим об окончательном закате апплетов Java — да, тех самых апплетов — и о рассвете поддержки HTTP/3, встроенной прямо в ядро. Всего этого немало, и, честно говоря, это захватывает.
Беспощадный шестимесячный цикл релизов Java продолжается — метроном, настроенный на удивительно быструю для языка, который многие по-прежнему ассоциируют с корпоративной стабильностью, скорость. В то время как Java 25 стала LTS (долгосрочной поддержкой) в сентябре прошлого года, Java 26 занимает свою нишу в марте 2026 года не как кандидат на LTS, а как жизненно важный шаг. И хотя количество новых функций может показаться меньшим, чем у предшественника — момент, который в примечаниях к релизу с улыбкой иронично признается — именно качество этих изменений кроется настоящая магия.
Любопытное дело с final полями
Поговорим о final полях. Годами они были манящим обещанием неизменяемости, своего рода пактом с компилятором: это значение, однажды установленное, никогда не изменится. Но затем появился рефлекшн (reflection) — этот мощный, слегка опасный инструмент, который позволял разработчикам заглянуть за кулисы и, да, даже изменить те якобы final значения. Это породило тихий диссонанс: язык обещал одно, а лазейка позволяла другое.
Это был не просто академический спор. Это было узкое место производительности. Представьте, что вы пытаетесь оптимизировать код, когда компилятор не может быть уверен, что значение истинно константно. Constant folding, базовая оптимизация, становится невозможной. Java 26, через JEP 491, начинает систематически закрывать эту лазейку. Это намеренный, поэтапный подход. Пока вы получите предупреждения. В будущем? Исключение. Это классическая Java: мягко, а затем и твердо направлять разработчиков к более последовательному и оптимизированному будущему. Как будто снимают обучающие колеса, но с сеткой безопасности.
Апплеты: девятилетнее прощальное турне
А есть еще апплеты. Помните их? Эти крошечные Java-приложения, встраиваемые в браузер, которые казались будущим примерно пять минут в конце 90-х? Что ж, Java 26 наконец-то захлопывает дверь. Это не сюрприз; это кульминация тщательно спланированного девятилетнего процесса вывода из эксплуатации. Аннулированные в JDK 9 (2017), апплет-вьювер удален в JDK 11 (2018), помечены как forRemoval=true в JDK 17 (2020), а затем SecurityManager — ключевой для безопасности апплетов — исчез в JDK 24 (2024). Теперь, в 2026 году, Java 26 официально стирает их из JDK. Это тихий, но значимый момент, цифровая археологическая раскопка, завершающаяся каталогизацией и сохранением последнего артефакта. Возможно, их никогда по-настоящему не понимали, но их уход сигнализирует о фокусе Java на современном вебе.
Через девять лет после начала усилий по удалению API Applet эта история пришла к своему логическому завершению! Им было даже не 33 года… Ушли слишком рано, так и не будучи по-настоящему понятыми.
HTTP/3: Новая магистраль веба
Но Java — это не только прощание; это и принятие нового. А в мире веб-коммуникаций новым является HTTP/3. Поскольку более трети веб-серверов уже поддерживают его, интеграция в HttpClient Java (представленный в Java 11 как современная замена HttpUrlConnection) ощущается не столько как дополнение, сколько как необходимость. JEP 487 приносит этот передовой протокол в стандартную библиотеку. Почему это важно? Подумайте о более быстрых рукопожатиях, более надежных каналах передачи данных и уничтожении проблем с блокировкой в начале очереди (head-of-line blocking), которые годами омрачали производительность веба. Это как переход от однополосной проселочной дороги к многополосной оптоволоконной супермагистрали. Вы активируете его простым флагом (HttpClient.Version.HTTP_3), и если сервер не готов, Java плавно понижает уровень соединения. Умно. Настолько умно, что заставляет задуматься, почему это заняло столько времени.
Возвращение ленивых констант (предварительная версия)
Помимо этих ключевых функций, Java 26 продолжает совершенствовать опыт разработчика. Предварительная версия JEP 502, “Stable Values,