English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 9 был выпущен 22 сентября 2017 года и принес много новых функций,最主要的 изменением является реализованная система модулей. В будущем мы подробно рассмотрим новые функции Java 9.
Модульная системаМодуль - это контейнер для пакета, одним из самых больших изменений Java 9 является введение системы модулей (проект Jigsaw).
REPL (JShell)Интерактивная среда программирования.
HTTP 2 клиентHTTP/2 - это最新版本的 HTTP-протокола, новый API HTTPClient поддерживает WebSocket, HTTP2-потоки и функции серверного推送.
Улучшенный JavadocJavadoc теперь поддерживает поиск в документации API. Кроме того, вывод Javadoc теперь соответствует стандартам совместимости с HTML5.
JAR пакеты многоверсионной совместимостиФункция совместимости с несколькими версиями JAR позволяет вам выбирать используемую версию класса в зависимости от конкретной версии Java-окружения.
Методы фабрики набораВ интерфейсах List, Set и Map есть новые статические фабричные методы для создания неизменных примеров этих наборов.
Приватные методы интерфейса: В интерфейсах можно использовать частные私有ные методы. Мы можем использовать модификатор доступа private для записи частных методов в интерфейсах.
API процесс: Улучшенный API для управления и контроля операционной системы процессов. Ввел java.lang.ProcessHandle и его вложенные интерфейсы Info, чтобы разработчики могли избежать ситуации, когда им приходится использовать локальный код, чтобы получить PID локального процесса.
Улучшенный Stream API: Улучшенный Stream API добавил некоторые удобные методы, которые делают обработку потоков проще, и позволяют использовать коллекторы для написания сложных запросов.
Улучшенный try-with-resources: Если у вас уже есть ресурс, который является final или эквивалент final переменной, вы можете использовать этот переменную в предложении try-with-resources, не needing to declare a new variable in the try-with-resources statement.
Улучшенный аннотация @Deprecated: Анонс @Deprecated может маркировать состояние Java API, что означает, что помеченные API будут удалены или разрушены.
Улучшенный оператор-iamond (Diamond Operator) : Анонимные классы могут использовать оператор-iamond (Diamond Operator).
Улучшенный класс Optional: Класс java.util.Optional добавил много новых полезных методов, Optional可以直接转换为 stream.
API многорешностные изображения: Определен API для многорешенческих изображений, что позволяет разработчикам легко работать и показывать изображения различного разрешения.
Улучшенный CompletableFuture API : Асинхронный механизм класса CompletableFuture может выполнять операции при выходе из метода ProcessHandle.onExit.
Легковесный JSON API: Встроен легковесный JSON API
Реактивные потоки (Reactive Streams) API: В Java 9 был введен новый API для реактивных потоков для поддержки реактивной программирования в Java 9.
Более новые функции можно найти на официальном сайте:What's New in JDK 9
Адрес скачивания JDK 9:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-doc-downloads-3850606.html
В примерах статьи о Java 9 мы используем среду jdk 1.9, вы можете использовать следующую команду для просмотра текущей версии jdk:
$ java -version java версия "9-ea" Java SE Runtime Environment (build 9-ea+163) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+163, mixed mode)
В следующем мы подробно介绍一下 новые возможности Java 9: