Java используется как в небольших устройствах, так и в интеграционных решениях типа «умный город». Никакая другая технология не поддерживает такого количества решений в самых разных областях. Поэтому Oracle стремится тесно сотрудничать с ключевыми партнерами в экосистеме Java, чтобы постоянно совершенствовать платформу Java, внедряя инновации. JDK 8u40, новая версия реализации стандарта Java SE компании Oracle, вносит усовершенствования в производительность, масштабируемость и администрирование, позволяя разработчикам Java-приложений, партнерам и руководителям, несущим ответственность за принятие ИТ-решений, проще и быстрее внедрять инновации и улучшать приложения. Эта версия также включает обновления JavaFX. Полное техническое описание можно получить здесь.
«Широкое распространение мобильных устройств и «Интернета вещей» делает наш мир все более взаимосвязанным, но это было бы невозможно без базовой технологии, такой как Java, — отметил Джордж Сааб (Georges Saab), вице-президент Oracle по разработке Java Platform. — Внося эти обновления в JDK 8, мы продолжаем открывать новую эру Java, чтобы предоставить разработчикам и предприятиям возможность повышать значимость Java как основы для сегодняшних и будущих революционных бизнес-решений».
С момента выпуска Java SE 8 в прошлом году эта платформа демонстрирует рекордные темпы распространения, которые существенно превышают показатели аналогичного периода после выпуска Java SE 7. Платформа была значительно усовершенствована, и ее новая версия предлагает следующие функциональные возможности и преимущества:
• Усовершенствования сборщика мусора G1 (JEP 156). Уменьшена вероятность длительных пауз, когда система высвобождает ресурсы. Уменьшена зависимость G1 от полного сбора мусора для выполнения загрузки класса или других важных операций. Это достигается благодаря поддержке загрузки классов в конце циклов параллельной маркировки.
• Динамическая активация функции Java Flight Recorder (JFR). Эту функцию теперь можно динамически активировать из командной строки или Java Mission Control (JMC), вне зависимости от исходных параметров запуска, что повышает удобство использования Oracle Java SE Advanced. Прежде это можно было сделать, только остановив и перезапустив соответствующие инструкции из командной строки. Динамическая активация JFR позволяет пользователям решать проблемы без необходимости остановки, которая может оказывать влияние на выполнение соглашений об уровне обслуживания и приводить к прерыванию работы конечного пользователя.
• Улучшения упаковщика Java. Упаковщик позволяет разработчикам создавать приложения, не требующие установки Java Runtime на клиенте. Такие автономные приложения можно затем размещать, например, в магазине Mac App Store. Разработчики приложений имеют полный контроль над средой исполнения и точками входа приложения.
• Новый инструмент обновления данных о часовых поясах. Этот инструмент может использовать «сырые» правила для данных о часовых поясах (tzdata) из базы данных регистрации часовых поясов IANA и преобразовывать их в формат, требуемый JRE. Пользователи получают возможность немедленно обновлять правила для часовых поясов JDK/JRE вместе с обновлениями от IANA.
• Поддержка Nashorn. В новой версии реализовано множество оптимизаций Nashorn, включая поддержку динамических языков. Кроме того, добавлен фильтр классов Nashorn, который обеспечивает детальный контроль доступа к классам Java из кода JavaScript через новый интерфейс фильтрации.
• Реакция JVM на дефицит памяти. Свойство memory pressure (дефицит памяти) отражает общее использование памяти (ОЗУ) в системе. Эта новая функциональная возможность может эффективно использоваться для сокращения объема памяти, используемой в системе в случае развертывания множества виртуальных машин JVM, а также контроля объема памяти, выделяемого для использования каждой виртуальной машиной, исключая возникновение ошибок нехватки памяти Out of Memory Errors (OOME).
• Java Mission Control 5.5 (JMC). Этот инструмент включен в состав JDK 8u40. Он основывается на Eclipse 4.4 и содержит подключаемые модули, которые теперь подписываются. Кроме того, JMC по умолчанию не будет показывать скрытые методы лямбда-форм.
• Сокращение и кэширование лямбда-форм (JEP 210). Это улучшение позволяет уменьшить объем памяти, необходимой приложениям, и повышает производительность динамических языков.
• Масштабируемость отслеживания использования системной памяти (JEP 195). Эта функция была улучшена, чтобы обеспечить ее выполнение без существенного влияния на производительность. В то же время, она предоставляет пользователям возможность диагностировать утечки памяти в виртуальной машине JVM.
• Повышение производительности алгоритмов шифрования SHA. Производительность была улучшена на системах класса SPARC, которые активно используются для подписи сертификатов в сервисе Web of Trust. Производительность SHA чрезвычайно важна для обеспечения интернет-безопасности, поскольку браузеры начинают требовать версии SHA-256 или выше с более интенсивными вычислениями, не рекомендуя использовать версию SHA-1.
JavaFX предлагает следующие новые функциональные возможности и усовершенствования:
• Возможность модернизации стека JavaFX в Mac OS X (JEP 206). Стек мультимедийных возможностей JavaFX в Mac OS X был перенесен с QTKit и Quicktime, использование которых не рекомендуется, на новую платформу AVFoundation. Теперь разработчики, использующие мультимедийный стек JavaFX, могут получать одобрение магазина Mac App Store и размещать там свои приложения.
• Доступность JavaFX (JEP 204). Улучшены существующие в JavaFX средства поддержки вспомогательных технологий для людей с ограниченными возможностями. Разработчикам предлагается публичный API-интерфейс для написания своих собственных средств обеспечения доступности.
Текущую версию Java SE можно бесплатно загрузить с web-сайта Oracle для использования в вычислительных системах общего назначения. Доступ к загрузке: для конечных пользователей и для разработчиков.