Java 11 is out

Java 11 is out

miniJUG

Вышла Java 11

Только что официально вышла новая, одиннадцатая версия Java. Скачать образы JDK можно либо в виде Oracle JDK под коммерческой лицензией, либо как OpenJDK с лицензией GPLv2. Различия между ними заключаются в том, что бесплатную версию Oracle JDK 11 можно легально использовать только для разработки, а OpenJDK можно использовать и в производственном целях.

Образы JRE не предоставляются. Для создания JRE пользователи теперь должны сами запускать утилиту jlink.

Java 11, как и Java 10, это достаточно маленький (по количеству изменений) релиз, потому что после выхода предыдущей версии прошло всего полгода. Однако, в отличие от Java 10, этот релиз является Long Term Support, а значит, он будет поддерживаться как минимум до сентября 2022 года. К сожалению, бесплатные обновления Oracle будет выпускать только в течение полугода. Для получения дальнейших обновлений придётся либо заплатить, либо использовать альтернативные источники поддержки, например, AdoptOpenJDK, RedHat, Azul и т.д.

Вот список того, что было изменено и улучшено в Java 11:

Удалены аплеты и Web Start, которые ранее в Java 9 были помечены как deprecated.

JavaFX и Java Misssion Control теперь не поставляются вместе с JDK, а существуют как отдельные проекты.

На Windows и macOS теперь нет автообновлений.

Формат поставки для Windows сменился с tar.gz на zip.

JEP 323: Local-Variable Syntax for Lambda Parameters. Теперь ключевое слово var можно использовать не только для объявления локальных переменных методов, но и для параметров лямбда-выражений.

JEP 320: Remove the Java EE and CORBA Modules. Модули JAX-WS, JAXB, JAF, Common Annotations, CORBA, JTA, которые ранее в Java 9 были помечены как deprecated for removal, теперь удалены окончательно. Вместо них теперь нужно использовать их аналоги из Maven. Также удалён модуль-аггрегатор java.se.ee.

JEP 321: HTTP Client (Standard). HTTP Client, который появился в Java 9 как инкубационный модуль, теперь стал стандартным модулем.

JEP 328: Flight Recorder. Утилита Flight Recorder для диагностики и профилирования Java-приложений теперь стала общедоступной частью OpenJDK. Раньше её можно было использовать только на коммерческой основе.

JEP 330: Launch Single-File Source-Code Programs. Исходные файлы Java теперь можно исполнять напрямую, без промежуточной компиляции.

JEP 181: Nest-Based Access Control. Доступ между закрытыми членами вложенных классов теперь реализован на уровне JVM, а значит больше не нужна генерация синтетических методов доступа между ними.

JEP 309: Dynamic Class-File Constants. Появился новый механизм constantdynamic (condy), благодаря которому константными значениями теперь могут быть не только простые литералы, а более сложные динамические выражения произвольного типа.

JEP 318: Epsilon: A No-Op Garbage Collector. Появился новый сборщик мусора EpsilonGC, который занимается только выделением памяти, но не освобождает её. При достижении лимита памяти виртуальная машина останавливается.

JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental). Появился новый сборщик мусора ZGC, который ставит своей задачей обеспечить маленькие паузы (< 10 мс) на всём диапазоне куч (от сотен мегабайт до нескольких терабайт), при этом издержки производительности не должны превышать 15%. Сборщик мусора имеет экспериментальный статус и работает только на Linux/x64.

Остальные JEP-ы:

JEP 315: Improve Aarch64 Intrinsics

JEP 324: Key Agreement with Curve25519 and Curve448

JEP 327: Unicode 10

JEP 329: ChaCha20 and Poly1305 Cryptographic Algorithms

JEP 331: Low-Overhead Heap Profiling

JEP 332: Transport Layer Security (TLS) 1.3

JEP 336: Deprecate the Pack200 Tools and API

JEP 335: Deprecate the Nashorn JavaScript Engine.


Обсудить новость

Подписаться на канал в Telegram

Report Page