Після шістьох місяців роботи Oracle випустила Java SE 12 (Java Platform, Standard Edition 12). У ній збережена сумісність з попередніми випусками Java, тож усі написані раніше Java-проекти будуть працювати на новій версії без змін.
Java SE 12 належить до категорії випусків зі звичайним терміном підтримки, оновлення до якого будуть випускати до наступного релізу. В якості LTS варто використовувати Java SE 11, до нього оновлення випускатимуть аж до 2026 року. Попередня LTS-гілка Java 8 буде підтримуватись до грудня 2020. Наступний LTS-реліз заплановано на вересень 2021.
З випуску Java 10 проект перейшов на новий процес розробки, що передбачає скорочений цикл випуску релізів. Функціональність тепер розвивається в одній master-гілці, котра постійно оновлюється. Вона містить уже готові зміни і раз на шість місяців від неї відокремлюються гілки для стабілізації нових випусків.
Що змінилося у Java 12:
-
Додалась експериментальна підтримка прибиральника сміття Shenandoah, що скорочує періоди затримок під час збирання сміття за рахунок паралельнго виконання Java-застосунків. Затримки будуть однакові для сміття у 200 MB і у 200 GB, зазвичай вони не більші ніж 10 мс.
-
Набір microbenchmark організовує безперервне тестування продуктивності різних компонентів кодової бази і спрощує додавання власних тестів.
-
Забезпечена попередня підтримка нової форми виразів
switch
, що не вимагає використання оператораbreak
і дозволяє об'єднувати повторювані мітки. Наприклад, замість:
switch (day1) {
case MONDAY:
case FRIDAY:
case SUNDAY:
System.out.println(6);
break;
...
int numLetters;
switch (day2) {
case MONDAY:
case FRIDAY:
case SUNDAY:
numLetters = 6;
break;
...
тепер можна вказати:
switch (day1) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
...
int numLetters = switch (day2) {
case MONDAY, FRIDAY, SUNDAY -> 6;
...
-
Представлений API JVM Constants (java.lang.invoke.constant), що дозволяє описати всі типи завантажуваних констант, використовуваних в файлах з Java-класами і в компонентах runtime.
-
Додана підтримка компактного форматування чисел (NumberFormat.Style.SHORT). Наприклад, замість 1000 може бути виведено «1K», а замість 1000000 — «1M».
З усіма нововведеннями можна ознайомитись на сторінці проекту.
Ще немає коментарів