Java 9 - Обзор
JAVA 9 (также известная как jdk 1.9) - это основная версия языка программирования JAVA. Его первоначальная версия была выпущена 21 сентября 2017 года. Основные цели выпуска Java 9:
Сделать платформу JDK и Java Standard Edition модульной в том смысле, что ее можно хорошо масштабировать до небольших вычислительных устройств.
Для повышения общей безопасности реализаций JDK и Java.
Упростить процесс сборки и сопровождения библиотек кода Java и больших приложений для платформ JAVA SE и EE.
Разработать и реализовать стандартную модульную систему для платформы Java, которую можно легко применить как на платформе, так и на JDK.
Новые возможности
В Java 8 добавлено более 90 улучшений, наиболее важные из которых упомянуты ниже -
Module - Новый вид программного компонента Java, представленный как модуль, который представляет собой именованный, самоописывающийся набор кода и данных.
REPL (JShell) - В платформу Java добавлена возможность цикла чтения-вычисления-печати (REPL).
HTTP 2 Client - новый HTTPClient API, поддерживающий веб-сокеты и потоки HTTP 2, а также функции сервера.
Improved JavaDocs- Поддерживает создание вывода HTML5. Предоставляет окно поиска для созданной документации API.
Multirelease JAR - Улучшает формат JAR, так что несколько версий файлов классов для конкретных версий Java могут сосуществовать в одном архиве.
Collection Factory Methods - Новые статические фабричные методы для интерфейсов List, Set и Map для создания неизменяемых экземпляров этих коллекций.
Private Interface Methods - Расширенные интерфейсы с частными и частными статическими методами.
Process API Improvements - Улучшенный API для контроля и управления процессами операционной системы.
Stream API Improvements - Повышенная безопасность и надежность, позволяя фильтровать входящие потоки данных сериализации объектов.
Try With Resources improvement - Теперь переменные final можно использовать в качестве ресурсов в операторе try-with-resources.
Enhanced @Deprecated Annotation - Аннотации @Deprecated переработаны, чтобы предоставить больше информации о статусе и предполагаемом размещении API.
Inner Class Diamond Operator - Разрешить использование оператора ромба с анонимными классами, если можно указать тип аргумента предполагаемого типа.
Optional Class Improvements - В класс java.util.Optional добавлены новые полезные методы.
Multiresolution Image API - Поддерживает инкапсуляцию набора изображений с разным разрешением в одно изображение с разным разрешением.
CompletableFuture API improvements - Асинхронные механизмы класса CompletableFuture могут выполнять действие, когда процесс завершается с помощью метода ProcessHandle.onExit.
Lightweight JSON - Легкий API, представленный для использования и генерации документов и потоков данных через json в java 9.
Reactive Streams API - Новый API реактивных потоков в Java SE 9 был представлен для поддержки реактивного программирования в Java 9.