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.