Oracle опублікувала Java SE 11

3 хв. читання

Після шести місяців розробки компанія Oracle випустила платформу Java SE 11 (Java Platform, Standard Edition 11), в ролі еталонної реалізації якої використовується відкритий проект OpenJDK. В Java SE 11 збережена зворотна сумісність з минулими випусками платформи Java. Всі раніше написані Java-проекти будуть працювати під управлінням нової версії без необхідності внесення змін.

Розроблена в рамках проекту OpenJDK еталонна реалізація Java 11 повністю відкрита під ліцензією GPLv2 за винятками GNU ClassPath, що дозволяють динамічне зв'язування з комерційними продуктами.

Java SE 11 віднесена до категорії випусків з тривалим терміном підтримки (LTS), оновлення для якого будуть випускатися до 2026. Випуск оновлень для минулого проміжного випуску Java 10 припинений. Минула LTS-гілка Java 8 буде підтримуватися до грудня 2020 року. Наступний LTS-реліз намічений на вересень 2021 року. Слід нагадати, що починаючи з минулого випуску проект перейшов на новий процес розробки, що має на меті скоротити цикл формування релізів. Тепер нова функціональність розвивається в одній master-гілці, що постійно оновлюється, в яку вносяться вже готові зміни і від якої раз у шість місяців відгалужуються гілки для стабілізації нових випусків.

З нововведень Java 11 можна відзначити:

  • Підтримку протоколу TLS 1.3 (RFC 8446), який відрізняється видаленням застарілих і ненадійних криптографічних примітивів;

  • Стабілізовано новий API для розробки HTTP-клієнтів, що підтримує HTTP / 2.0 і WebSockets. Новий HTTP Client API прийшов на зміну API HttpURLConnection;

  • До складу включені інструменти Java Mission Control (JMC) і Java Flight Recorder (JFR), які раніше поставлялися лише для платних версій. JMC та JFR надає функції для моніторингу, діагностики, профілювання і виявлення джерел витоків пам'яті. JFR дозволяє отримати доступ до детальної низькорівневої інформації про роботу JVM і дає можливість ефективно аналізувати поточні дані та події, що відбулися без негативного впливу на продуктивність.

  • Підтримку потокового шифру ChaCha20 і алгоритму аутентифікації повідомлень (MAC) Poly1305. ChaCha20 і Poly1305 можна розглядати, як більш швидкі й безпечні аналоги AES-256-CTR і HMAC, програмна реалізація яких дозволяє домогтися фіксованого часу виконання без використання спеціальних апаратних прискорювачів;

  • Підтримку системи управління доступом Nestmate (Nest-based access controls), яка адаптована для коректної обробки доступу з урахуванням вкладених типів;

* Формат файлів з класами Java (.class) розширено підтримкою динамічно створюваних констант (пул CONSTANT_Dynamic). Завантаження CONSTANT_Dynamic призводить до делегування створення констант в метод bootstrap, за аналогією з тим, як в метод bootstrap делегуються операції зв'язування при виклику invokedynamic;

  • Запропоновано експериментальний збирач сміття ZGC (Z Garbage Collector), який працює в пасивному режимі й наскільки це можливо мінімізує затримки через збірки сміття. Час зупинки при використанні ZGC не перевищує 10 мс. При цьому ZGC може працювати як з купами розміром від кількох сотень мегабайтів до багатьох терабайт;

  • Додано експериментальний збирач сміття Epsilon, який обмежений виконанням операцій розподілу пам'яті і не реалізує механізму звільнення і повторного залучення блоків (коли місце в купі закінчиться, JVM завершить роботу);

  • Забезпечено можливість запуску програм, що поставляються в формі одного файлу з вихідним кодом;

  • У розряд застарілих можливостей переведені JavaScript-рушій Nashorn і інструментарій Pack200. Видалені модулі Java EE і CORBA.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.8K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація