Учебники

Java 9 — Обзор

JAVA 9 (aka jdk 1.9) — это основной выпуск разработки языка программирования JAVA. Его первоначальная версия была выпущена 21 сентября 2017 года. Основные цели выпуска Java 9 —

  • Сделать платформу JDK и Java Standard Edition модульной в том смысле, что она может быть хорошо масштабирована до небольших вычислительных устройств.

  • Повысить общую безопасность JDK и Java-реализаций.

  • Упростить процесс сборки и сопровождения библиотек кода Java и больших приложений для платформ JAVA SE и EE.

  • Разработать и внедрить стандартную модульную систему для платформы Java, которую можно легко применять как на платформе, так и в JDK.

Сделать платформу JDK и Java Standard Edition модульной в том смысле, что она может быть хорошо масштабирована до небольших вычислительных устройств.

Повысить общую безопасность JDK и Java-реализаций.

Упростить процесс сборки и сопровождения библиотек кода Java и больших приложений для платформ JAVA SE и EE.

Разработать и внедрить стандартную модульную систему для платформы Java, которую можно легко применять как на платформе, так и в JDK.

Новые возможности

В Java 8 добавлено более 90 улучшений, наиболее значимые из которых перечислены ниже:

Модуль — новый вид компонента программирования Java, представленный в виде модуля, который представляет собой именованный, самоописываемый набор кода и данных.

REPL (JShell) — добавлена ​​возможность чтения-Eval-Print Loop (REPL) для платформы Java.

HTTP 2 Client — новый HTTPClient API, поддерживающий веб-сокеты и HTTP 2-потоки, а также функции проталкивания сервера.

Улучшенный JavaDocs — поддерживает генерацию вывода HTML5. Предоставляет окно поиска для сгенерированной документации API.

Multirelease JARрасширяет формат JAR, благодаря чему в одном архиве могут сосуществовать несколько версий файлов классов для конкретных версий Java.

Методы фабрики коллекций — Новые статические фабричные методы для интерфейсов List, Set и Map для создания неизменяемых экземпляров этих коллекций.

Методы частного интерфейса — расширенные интерфейсы с частными и частными статическими методами.

Улучшения API процессов — Улучшенный API для контроля и управления процессами операционной системы.

Усовершенствования Stream API — Повышенная безопасность и надежность благодаря возможности фильтрации входящих потоков данных сериализации объектов.

Улучшение Try With Resources — теперь конечные переменные можно использовать в качестве ресурсов в выражении try-with-resources.

Улучшенная аннотация @Deprecated — обновлена ​​аннотация @Deprecated для предоставления дополнительной информации о состоянии и предполагаемом расположении API.

Оператор Diamond внутреннего класса — разрешить использование оператора diamond с анонимными классами, если можно указать тип аргумента предполагаемого типа.

Необязательные улучшения класса — Новые полезные методы добавлены в класс java.util.Optional.

Multiresolution Image API — поддерживает инкапсуляцию набора изображений с разными разрешениями в одно изображение с множественным разрешением.

Усовершенствования API CompletableFuture . Асинхронные механизмы класса CompletableFuture могут выполнять действие при выходе из процесса с помощью метода ProcessHandle.onExit.

Облегченный JSON — упрощенный API, представленный для использования и создания документов и потоков данных через json в java 9.

API Reactive Streams — В Java SE 9 был представлен новый API Reactive Streams для поддержки реактивного программирования в Java 9.