Java 9 (JDK 9): ключевые возможности и преимущества
Java 9 (JDK 1.9) — мажорный релиз, вышедший 21 сентября 2017 года. Основные цели:
- Сделать JDK и Java SE модульными для масштабирования на малых устройствах.
- Повысить безопасность JDK и реализаций Java.
- Упростить сборку и поддержку библиотек и крупных приложений для Java SE и EE.
- Спроектировать стандартную модульную систему для платформы и JDK.
90+ улучшений, ключевые:
- Модули (Module System / Jigsaw) — именованные, самодокументируемые наборы кода и данных.
- REPL (JShell) — интерактивная оболочка Read-Eval-Print Loop.
- HTTP/2 Client — новый
HttpClientс поддержкой WebSocket, HTTP/2 streams, server push. - Улучшенные Javadoc — генерация HTML5, поиск по API.
- Multi-release JAR — разные версии классов для разных Java-релизов в одном архиве.
- Collection Factory Methods —
List.of(),Set.of(),Map.of()для создания неизменяемых коллекций. - Private Interface Methods — private и private static методы в интерфейсах.
- Process API Improvements — управление ОС-процессами (
ProcessHandle). - Stream API Improvements —
takeWhile,dropWhile,iterate,ofNullable. - Try-with-resources improvement — использование final/effectively final переменных как ресурсов.
- @Deprecated Enhancements — атрибуты
forRemovalиsince. - Diamond Operator для анонимных классов.
- Optional Improvements —
stream(),ifPresentOrElse(),or(). - Multi-Resolution Image API — инкапсуляция изображений разного разрешения.
- CompletableFuture API improvements — таймауты, delays, фабричные методы.
- Lightweight JSON API — парсинг/генерация JSON без сторонних библиотек.
- Reactive Streams API — поддержка reactive programming (Flow API).
java
- Освоение операторов Java: типы, синтаксис и практические примеры
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Язык программирования Java: эволюция, версии и области применения
- Язык программирования C: обзор, история и области применения
- Java 10: ключевые особенности и модель выпуска
- Java 9 Process API: ключевые улучшения и новые возможности
- Java 9 Stream API Enhancements: takeWhile, dropWhile, iterate, ofNullable
- Java 9 Multi-Resolution Image API: адаптивная графика