English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений в Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Вход/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Java 9 новые возможности

Java 9 был выпущен 22 сентября 2017 года и принес много новых функций,最主要的 изменением является реализованная система модулей. В будущем мы подробно рассмотрим новые функции Java 9.

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:

НомерОсобенности
1Модульная система
2REPL (JShell)
3Улучшенный Javadoc
4JAR пакеты многоверсионной совместимости
5Методы фабрики набора
6Приватные методы интерфейса
7API процесс
8API Stream
9try-with-resources
10@Deprecated
11ДIAMOND оператор внутреннего класса
12Класс Optional
13API многорешностные изображения
14API CompletableFuture