Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Компания Oracle опубликовала Java SE 11

После шести месяцев разработки компания Oracle выпустила платформу Java SE 11 (Java Platform, Standard Edition 11), в качестве эталонной реализации которой используется открытый проект OpenJDK. В Java SE 11 сохранена обратная совместимость с прошлыми выпусками платформы Java, все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 11 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64), Solaris (SPARC), Windows и macOS. Разработанная в рамках проекта 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), который отличается удалением устаревших и ненадёжных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т.п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс), обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при возобновлении ранее установленных HTTPS-соединений), поддерживает потоковый шифр ChaCha20, алгоритм аутентификации сообщений (MAC) Poly1305, ключи аутентификации на основе цифровых подписей Ed25519, HKDF (HMAC-based Extract-and-Expand Key Derivation Function), ключи на основе алгоритмов x25519 (RFC 7748) и x448 (RFC 8031);
  • Стабилизирован новый API для разработки HTTP-клиентов, поддерживающий HTTP/2.0 и WebSockets. Новый HTTP Client API пришёл на смену API HttpURLConnection;
  • В состав включены инструментарии Java Mission Control (JMC) и Java Flight Recorder (JFR), которые ранее поставлялись только для платных подписчиков. Инструментарий предоставляет средства для мониторинга, диагностики, профилирования и выявления утечек памяти. JFR позволяет получить доступ к детальной низкоуровневой информации о работе JVM и даёт возможность эффективно анализировать текущие данные и произошедшие события без негативного влияния на производительность.
  • Поддержка потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305, разработанных Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 можно рассматривать, как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальных аппаратных ускорителей;
  • Поддержка системы управления доступом Nestmate (Nest-based access controls), которая адаптирована для корректной обработки доступа с учётом вложенных типов. Nestmate обеспечивает возможность обращения к приватным частям внутри группы классов, логически относящимися к одному и тому же компоненту, но компилируемым в разные файлы с классами. Новый механизм управления доступом позволяет избавиться от необходимости подстановки компилятором специальных промежуточных методов обеспечения доступа;
  • Формат файлов с классами Java (.class) расширен поддержкой динамически создаваемых констант (пул CONSTANT_Dynamic). Загрузка CONSTANT_Dynamic приводит к делегированию создания констант в метод bootstrap, по аналогии с тем, как в метод bootstrap делегируются операции связывания при вызове invokedynamic;
  • Предложен экспериментальный сборщик мусора ZGC (Z Garbage Collector), работающий в пассивном режиме и насколько это возможно минимизирующий задержки из-за сборки мусора. Время остановки при использовании ZGC не превышает 10 мс. При этом ZGC может работать как с небольшими, так и с огромными кучами, размером от нескольких сотен мегабайт до многих терабайт;
  • Добавлен экспериментальный сборщик мусора Epsilon, который ограничен выполнением операций распределения памяти и не реализует механизма освобождения и повторного задействования блоков (когда место в куче закончится, JVM завершит работу);
  • Обеспечена возможность запуска программ, поставляемых в форме одного файла с исходным кодом;
  • В разряд устаревших возможностей переведены JavaScript-движок Nashorn и инструментарий Pack200. Из поставки удалены модули Java EE и CORBA.

OpenNET

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...