Корпорация Oracle объявила о выпуске Java Development Kit (JDK) 8, Update 40 (JDK 8u40), продолжая инвестировать в самый популярный в мире язык программирования. Java используется как в небольших устройствах, так и в интеграционных решениях типа "умный город". Никакая другая технология не поддерживает такого количества решений в самых разных областях. Поэтому Oracle стремится тесно сотрудничать с ключевыми партнерами в экосистеме Java, чтобы постоянно совершенствовать платформу Java, внедряя инновации. JDK 8u40, новая версия реализации стандарта Java SE компании Oracle, вносит усовершенствования в производительность, масштабируемость и администрирование, позволяя разработчикам Java-приложений, партнерам и руководителям, несущим ответственность за принятие ИТ-решений, проще и быстрее внедрять инновации и улучшать приложения. Эта версия также включает обновления JavaFX. Полное техническое описание можно получить здесь.
"Широкое распространение мобильных устройств и "Интернета вещей" делает наш мир все более взаимосвязанным, но это было бы невозможно без базовой технологии, такой как Java, - отметил Джордж Сааб (Georges Saab), вице-президент Oracle по разработке Java Platform. - Внося эти обновления в JDK 8, мы продолжаем открывать новую эру Java, чтобы предоставить разработчикам и предприятиям возможность повышать значимость Java как основы для сегодняшних и будущих революционных бизнес-решений".
Java SE: ускорение инноваций
Since its launch last year, Java SE 8 has achieved record adoption rates. Overall, adoption is up significantly compared to the same post-launch time period for Java SE 7. Continuing to deliver significant enhancements to the platform, the latest release introduces the following features and benefits:
С момента выпуска 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.
Продолжение инноваций в Java FX
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 для использования в вычислительных системах общего назначения. Доступ к загрузке: для конечных пользователей и для разработчиков.
Java: цифры и факты
9 миллионов разработчиков по всему миру
Свыше 3 миллиардов устройств используют технологии Java
Свыше 125 миллионов мультимедийных устройств работают на Java
Свыше 10 миллиардов смарт-карт Java Card поставлено заказчикам с момента выпуска
Журнал Java Magazine распространяется по всему миру по бесплатной подписке тиражом 212 тысяч экземпляров. Журнал выходит раз в два месяца в цифровом и мобильном форматах, рассказывая о главных новостях, новых продуктах и инновационных Java-приложениях, предлагая инструкции и технические руководства. Номер за март/апрель 2014 года содержит большой объем технической информации по Java 8, включая статьи о лямбда-выражениях, механизме Nashorn, компактных профилях, API-интерфейсе для работы с датами и временем, об "Интернете вещей", потоках, аннотациях типов в Java и многом другом. Подписаться на Java Magazine.
Курс "Oracle. Программирование на SQL, PL/SQL и Java" раскрывает полный спектр возможностей языка SQL в Oracle и ряд аспектов неочевидных особенностей построения типовых конструкций БД. Курс сопровождается практическими упражнениями, позволяющими закрепить понимание базовых понятий и освоить основные технические приемы программирования на языках SQL, PL/SQL и Java. По окончании курса слушатели получают возможность самостоятельного программирования Oracle на этих трех языках для решения задач разработки приложений в архитектуре клиент-сервер и в трехзвенной архитектуре, а также задач администрирования БД.
Данный курс раскрывает полный спектр возможностей языка Java в Oracle. По окончании курса слушатели получают возможность самостоятельного программирования Oracle на Java для решения задач разработки приложений в архитектуре клиент - сервер и в трехзвенной архитектуре.