Новости Java #41

• JDK 19 перешёл в первую фазу Rampdown. Список JEP'ов заморожен, а исходный код ответвлён в стабилизационный репозиторий.

Примечательно, что из всех семи JEP'ов Java 19 только один будет иметь стабильный характер (Linux/RISC-V Port). Все остальные будут иметь статус Preview, либо Incubator.

Тем временем, уже началась разработка Java 20. У нового релиза появилась своя страница, где можно скачать первую сборку JDK 20-ea+1.

• В Java 19 попал интересный патч, который исправляет баг 20-летней давности. Баг этот заключается в том, что метод Double.toString() иногда возвращает некорректный результат, например:

> jshell
|  Welcome to JShell -- Version 18.0.1.1
|  For an introduction type: /help intro

jshell> Double.toString(1e23)
$1 ==> "9.999999999999999E22"

В Java 19 это исправлено:

> jshell
|  Welcome to JShell -- Version 19-ea
|  For an introduction type: /help intro

jshell> Double.toString(1e23)
$1 ==> "1.0E23"

Помимо возвращения корректного результата новая реализация также значительно быстрее (в 17.7 раз по замерам автора), поскольку не выделяет промежуточных объектов, не содержит циклов и использует только целочисленную арифметику.

• В блоге IntelliJ IDEA вышел новый выпуск Java Annotated Monthly за июнь.

Подписывайтесь на канал в Telegram, чтобы не пропускать новости.

Все материалы на этом сайте выложены под лицензией CC BY-SA 4.0
© Евгений Козлов, 2017-2024
Feed
Table of JEPs