21 сентября вышел очередной релиз платформы Java SE. С выхода предыдущего релиза Java SE 8 прошло три с половиной года.
Самым главным глобальным нововведением является Java Platform Module System — поддержка концепции модулей на уровне языка и JVM. Теперь сама стандартная библиотека JDK разбита на модули, а Java-разработчики имеют возможность создавать собственные модули, определять зависимости между ними, а также управлять видимостью пакетов в модуле для других модулей.
Подробнее про систему модулей Java 9 можно прочитать в книге Java 9 Modularity.
Другие важные нововведения:
- Команда
jshell
— функциональность REPL (read-eval-print loop) для платформы Java. - Multi-Release JAR Files — возможность объединять в одном JAR-файле разные версии классов и ресурсов для разных версий Java.
-
jlink
— инструмент для создания собственных сборок JRE под конкретную программу, включающих только нужные для запуска модули. - Браузерный плагин Java Plug-in и технология апплетов теперь помечены как устаревшие. Де факто апплеты уже не поддерживаются в современных браузерах.
- Небольшие изменения в синтаксисе языка Java; например, в интерфейсах теперь поддерживаются
private
-методы. - Новый API для управления процессами (
ProcessHandle
). - Новый API для прохода по стеку вызовов (
StackWalker
). - Различные мелкие улучшения стандартной библиотеки, например, синтаксис для создания неизменяемых коллекций (
List.of
,Set.of
,Map.of
) и новые методы в APIStream
иCompletableFuture
. - Новые возможности ECMAScript 6 (
let
,const
,for..of
и т. д.) в JavaScript-интерпретаторе Nashorn, а также новый API для синтаксического анализа JavaScript (Parser
). - Поддержка HiDPI для приложений AWT и Swing под Windows и Linux.
- Поддержка GTK3 как альтернативы GTK2 для создания окон AWT, Swing и JavaFX под Linux. По умолчанию используется GTK2, либо, если он недоступен, GTK3.
>>> Скачать