JDK 12 снова здесь, я не могу научиться...

Java
JDK 12 снова здесь, я не могу научиться...

написать впереди

Увидев, что JDK 12 снова был выпущен, Мэнсин почувствовал дрожь, не зная об этом.От мышления функционального программирования и парадигмы Java 1.8 до благословения модульности Java 1.9 и мощности ZGC в Java 1.11 у меня не было времени глубоко прочувствовать это Что случилось с JDK 12 на этот раз? Я действительно не могу учиться, что мне делать?

В любом случае, давайте посмотрим на новые функции JDK 12 (фанат) и прочитаем (йи)!

МожетНажмитеилисканированиеследующеебудь остороженподписаться на официальный аккаунт автораCodeSheep, получить большеПрагматичный, понятный, воспроизводимыйИсходный текст ↓↓↓

CodeSheep · 程序羊


Сборщик мусора с малой задержкой (экспериментальный)

A Low-Pause-Time Garbage Collector (Experimental)

Добавляет новый алгоритм сборки мусора (GC) под названием Shenandoah, который сокращает время пауз GC, выполняя работу по сбору мусора одновременно с выполнением потоков Java. Время паузы для Shenandoah не зависит от размера кучи, что означает, что у вас будет одинаковое время паузы независимо от того, составляет ли размер кучи 200 МБ или 200 ГБ.


Набор микротестов

Microbenchmark Suite

В исходный код JDK был добавлен базовый набор микротестов, что позволяет разработчикам легко запускать существующие микротесты или создавать новые.


Выражение переключения (предварительная версия)

Switch Expressions (Preview)

Это предварительная языковая функция. Синтаксис переключателя расширен, так что его можно использовать не только как инструкцию, но и как выражение, и обе формы можно использовать для действия в разных областях или для управления потоком выполнения. Эти изменения упростят повседневное кодирование и подготовят вас к использованию сопоставления с образцом в коммутаторе (JEP 305).


API констант JVM

JVM Constants API

Вводит API для моделирования номинальных описаний ключевых файлов классов и артефактов времени выполнения, особенно тех констант, которые можно загрузить из пула констант.


Остается только реализация AArch64

One AArch64 Port, Not Two

Удалите весь исходный код, относящийся к реализации arm64, сохранив при этом 32-разрядные реализации ARM и 64-разрядные реализации aarch64. Эти реализации были удалены, чтобы все участники кода могли сосредоточиться на одной реализации, тем самым устраняя дублирование усилий, необходимых для поддержки двух реализаций.


Архив общего доступа к данным класса по умолчанию

Default CDS Archives

Усовершенствуйте процесс сборки JDK для создания архивов совместного использования данных (CDS) на 64-разрядных платформах с использованием списка классов по умолчанию.


Прерываемый G1 Mixed GC

Abortable Mixed Collections for G1

G1 смешанного GC может быть прерван, если есть возможность превысить цель паузы.


G1 возвращается немедленно, не используя выделенную память

Promptly Return Unused Committed Memory from G1

Усовершенствуйте сборщик мусора G1, чтобы он автоматически возвращал память кучи Java в операционную систему при простое.


использованная литература


Постскриптум

Ничего не говори, JDK 13, пожалуйста, выходи медленно, я сейчас отстану, я не успеваю...

Из-за ограниченных возможностей, если есть ошибки или неуместность, пожалуйста, критикуйте и исправьте их, учитесь и обменивайтесь мнениями вместе!