+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Oracle оголосила про вихід нового релізу платформи Java 16 (Oracle JDK 16)

Oracle оголошує про новий випуск платформи Java 16 (Oracle JDK 16)

Oracle оголосила про новий реліз платформи Java 16 (Oracle JDK 16), яка включає в себе 17 нових удосконалень і забезпечує більш високу продуктивність розробки. Новий випуск Java Development Kit (JDK) завершує функції зіставлення шаблонів для оператора InstanceOf (JEP 394) та Records (JEP 395), покращення синтаксису вперше введені як попередній перегляд у Java 14. Крім того, з виходом нового випуску розробники можуть використовувати новий інструмент упаковки (JEP 392) для створення автономних Java-додатків. Для навчання доступні три інкубаційні модулі: інструментарій векторного перетворення Vector API (JEP 338), інструментарій статичного нативного доступу від Java Foreign Linker API (JEP 389) і JAVA Heap Access API (JEP 393), а також запечатані класи, які з'явилися в Java 16 у другому режимі попереднього перегляду (JEP 397).

Oracle випускає нові випуски Java кожні півроку, щоб надати розробникам чіткий графік. Піврічні оновлення забезпечують переваги доступу до постійного потоку інновацій та забезпечують постійне покращення продуктивності, стабільності та безпеки, дозволяючи Java поширюватися на компанії будь-якого розміру та галузей.

«З виходом нового релізу ми в черговий раз побачили, що  піврічний графік оновлень зручний і ефективний », - сказав Жорж Сааб, віце-президент Java Platform Group, Oracle. Зіставлення шаблонів для InstanceOf і Recordings вперше були представлені рік тому при випуску JDK 14 і з тих пір пройшли кілька раундів тестування і практичного застосування зі зворотним зв'язком зі спільнотою. Цей процес не тільки дав Java-розробникам можливість поекспериментувати з функціями перед доопрацюванням, але  і дав можливість почути критику. В результаті було створено два стабільних JEP, які дійсно відповідають потребам громади».

Випуск Java 16 - це результат процесу розробки, відкритого для критики і побажань з боку спільноти. Регулярні огляди і щотижневі проміжні збірки випускалися в процесі підготовки. Інтенсивна співпраця між розробниками Oracle та членами спільноти з усього світу відбувалася через спільноту OpenJDK та процес спільноти Java. Короткий список нових функціональних можливостей, доступних в новому випуску Java 16:

  • JEP 392: Packaging Tool — надає інструмент jpackage для упаковки автономних Java-додатків;
  • JEP 387: Elastic Metaspace - швидше повертає в операційну систему невикористану пам'ять метаданих HotSpot (metaspace), зменшує обсяг метапростору і спрощує код метапростору для зниження витрат на обслуговування;
  • JEP 376: ZGC: Паралельна обробка thread-stack - переміщує обробку стека потоків ZGC з безпечних точок на паралельну фазу. Це усуває останнє значне вузьке місце для забезпечення одночасної обробки стека;
  • JEP 394: Наприклад, зіставлення шаблонів — покращує мову програмування Java завдяки можливості зіставлення шаблонів для оператора InstanceOf;
  • JEP 395: Records – Розширює мову програмування Java записами, які є класами , які діють як прозорі носії незмінних даних. Записи можна розглядати як іменні кортежі;
  • JEP 380: UNIX-Domain Socket Channels - Випуск додає підтримку роз'ємів домену Unix і сервера-сокету каналу API пакета java.nio.channels. Такі сокети використовуються для міжпроцесного зв'язку в рамках одного хоста, і  в них не використовуються мережеві з'єднання, що робить таку комунікацію більш безпечною і ефективною. Вони дуже схожі на сокети TCP/IP, за винятком того , що доступ до них здійснюється через шляхи до файлової системи, а   не через адреси інтернет-протоколу (IP) та номери портів;
  • JEP 396: Сильно інкапсулювати JDK Internals за замовчуванням — I JDK 9 інкапсулював нові внутрішні елементи API, тим самим обмеживши доступ до них. Однак, щоб полегшити перехід, на момент виходу JDK 9 , було вирішено не інкапсулювати вміст пакетів так строго під час виконання, як це потрібно в JDK 8. У JDK 16 обмеження знову посилюється, причому більшість внутрішніх елементів JDK інкапсульовані за замовчуванням, за винятком критичних внутрішніх API, таких як sun.misc.Unsafe. Кінцеві користувачі все ще можуть вибрати спрощену сильну інкапсуляцію, яка використовується за замовчуванням з моменту випуску JDK 9. Це заохотить розробників перейти від використання внутрішніх елементів до використання стандартних API, щоб і вони, і  користувачі могли безперешкодно перейти на майбутні версії Java;
  • JEP 390: Попередження для класів на основі значень – обгортки примітивного типу тепер класифікуються як класи на основі значень, а їх конструктори, які раніше застаріли в Java 9, тепер позначені як застарілі для видалення. Надає попередження про некоректні спроби синхронізації екземплярів будь-яких класів на основі значень на платформі Java.
  • JEP 338: Vector API (Incubator) - це початкова ітерація модуля інкубатора jdk.incubator.vector для перетворення векторних обчислень, які надійно компілюються під час виконання, в оптимальні векторні апаратні інструкції на архітектурах, що підтримуються процесором;
  • JEP 389: Foreign Linker API (Інкубатор) – API, який пропонує статичний, легший доступ від Java до нативного коду;
  • JEP 393: API доступу до іноземної пам'яті (Third Incubator), API, який дозволяє java-програмам безпечно та ефективно отримувати доступ до зовнішньої пам'яті за межами купи Java;
  • JEP 397: Sealed Classes (Другий попередній перегляд) – покращує мову програмування Java з закритими класами та інтерфейсами. Герметичні класи та інтерфейси обмежують можливість інших класів або інтерфейсів розширювати або реалізовувати їх;
  • JEP 347: Enable C++14 Language Features (у вихідному коді JDK) – дозволяє використовувати функції мовного стандарту C++14 у вихідному коді JDK C++ і  дає конкретні рекомендації щодо того, яка з цих функцій може бути використана в коді HotSpot;
  • JEP 357: Міграція з Mercurial в Git — мігрує репозиторії вихідного коду спільноти openJDK з Mercurial (hg) в Git;
  • JEP 369: Міграція на GitHub — розміщує репозиторії Git спільноти OpenJDK на GitHub;
  • JEP 386: Alpine Linux Port – портує JDK на Alpine Linux та інші дистрибутиви Linux, які використовують musl як основну бібліотеку  C як для архітектур x64, так і для AArch64;
  • JEP 388: Порт Windows/Aarch64 — портує JDK на Windows/AArch64.

Java залишається однією з найуспішніших платформ розробки. Платформа, заснована на принципах постійного потоку інновацій, спрямована на вимоги і зростаючі потреби сучасних розробників додатків. Щоб зробити підписку java SE ще більш привабливою для клієнтів, Oracle додала GraalVM Enterprise як пункт безкоштовної підписки. GraalVM може допомогти підвищити продуктивність і знизити споживання ресурсів, особливо в мікросервісах і хмарних нативних архітектурах. Компанії, що використовують Java з підпискою Oracle Java SE, не тільки отримують останні оновлення і прямий доступ до  експертів Oracle Java, але  і значну економію в порівнянні з альтернативними підходами.

«Замість того, щоб кожні три-чотири роки цікавитися тим, які оновлення з'явилися на Java, я живу в іншому ритмі, запропонованому мені Oracle, що дозволяє мені залишатися активним розробником, викладачем і інструктором », - сказав Хосе Помар, доцент університету Сорбонни Paris Nord і один з організаторів паризької групи Java User.  Я з нетерпінням чекав можливості використовувати синтаксис Writes для покращення продуктивності та читабельності мого коду обробки даних після того, як я протестував цю функцію в попередньому перегляді . А в новому релізі функція стала доступна для роботи. "

Інші новини

Найкраща ціна