Что нового в Java 15

Статья уже сильно запоздавшая, конечно. Я даже не знаю, что сказать. Эти версии… Они так быстро меняются. С описаниями новых возможностей каждого выпуска Java, начиная с Java 8, вы можете ознакомиться моем учебнике.

Итак, что же у нас появилось в Java 15. Как мы знаем, Java уже совсем не тот язык, что был десять лет назад. Если сравнивать текущий язык с Java 6, то сам подход уже немного другой. Возможностей стало намного больше, а язык больше не так строг, как раньше…

Новый алгоритм шифрования Edwards-Curve Digital Signature

Вряд ли вам придётся применять, его когда-нибудь, разве только если вы делаете что-то совсем специфическое. Упоминаю этот алгоритм только для общего развития.

Запечатанные классы

Запечатанные классы явно указывают список классов, которые могут их расширять. Пример:

Эта возможность добавлена только как preview-фича, а значит без параметра --enable-preview она недоступна, а также она может быть удалена в последующих релизах. Пока не буду подробно описывать эту фичу, когда окончательно утвердят, то тогда подробно и опишу. Текущая реализация вполне может быть кардинально изменена в последующих релизах Java.

Скрытые классы

Многие языки программирования для JVM (не только Java) используют генерацию классов во время выполнения. Например, в случае с Java лямбда выражения не создают классов во время компиляции с javac, вместо этого он классы создаются во время выполнения с помощью LambdaFactory. Разумеется, хотелось бы, чтобы эти классы не были доступны через Reflection; чтобы они могли выгружаться из памяти, когда становятся не нужны; а также имели доступны из класса, который их породил. До Java 15 такой возможности не было. Сейчас же их можно создавать с помощью Lookup::defineHiddenClass. Не думаю, что вам стоит углубляться в дебри создания скрытых классов. Это больше пригодится разработчикам фреймворков, наверное, да и то не всегда. Если нужно, то можете изучить подробности этой возможности в официальном описании.

Удален Nashorn Javascript Engine

Тут сложно что-то описать. Просто его больше нет.

Pattern matching for instanceof

В Java 14 это было введено в качестве preview. В Java 15 оно тоже находится в стадии preview. Я не буду лишний раз описывать, можете прочесть мое описание из нововведений в Java 14.

Сборщик мусора ZGC

Ранее был экспериментальным сборщиком мусора в Java 11. Теперь он окончательно вошел в релиз и включается с помощью опций:

Текстовые блоки

Текстовые блоки давно переходят из одной версии в другую, но как экспериментальная возможность. В Java 15 они окончательно вошли в Java в том виде, как я их описывал в статье про Java 14.

Записи

Это уже второе preview для этой возможности. Прошлый раз я их описывал в статье про Java 14.


Поделиться:

Добавить комментарий

Ваш адрес email не будет опубликован.