После двух лет и семи месяцев разработки компания Oracle выпустила платформу Java SE 8 (Java Platform, Standard Edition 8), в качестве эталонной реализации которой используется открытый проект OpenJDK. В Java SE 8 сохранена полная обратная совместимость с прошлыми выпусками платформы Java, все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версии.

Готовые для установки сборки Java SE 8 (JDK, JRE и Server JRE) подготовлены для Linux (x86, x86_64, ARM), Solaris (x86, SPARC), Winodws и OS X. Поддержка Java SE 8 уже интегрирована в такие инструменты для разработчиков, как NetBeans 8.0, IntelliJ IDEA 12 и Oracle JDeveloper. Одновременно представлена редакция Java SE для встраиваемых систем - Java SE Embedded 8, обладающая базовыми возможностями Java SE и пригодная для использования на портативных устройствах с 32 Мб ОЗУ, занимая от 11 Мб на накопителе.

Изначально релиз Java SE 8 планировалось выпустить в сентябре 2013 года, но график разработки был изменён в связи с решением по проведению внеочередной работы по усилению безопасности Java 7, на которую были переброшены многие вовлечённые в разработку Java 8 инженеры. Разработанная в рамках проекта OpenJDK эталонная реализация Java 8 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами. Используя OpenJDK в качестве эталонной реализации сторонние производители могут создавать полностью совместимые с Java SE 8 производные открытые реализации Java. Проприетарный Oracle JDK 8 отличается от OpenJDK наличием некоторых закрытых компонентов, таких как система плагинов, которые не определены в Java-стандарте и не входят в эталонную реализацию Java 8. Oracle JDK поставляются под лицензией BCL (Binary Code Licence).

Основные новшества Java SE 8:

  • Интеграция поддержки Lisp-подобных лямбда-выражений, развиваемых в рамках проекта Lambda. Расширений стандартных библиотек средствами для параллельного выполнения операций над потоками данных, нацеленных на упрощение написания кода для многоядерных процессоров;
  • Поддержка компактных профилей для развёртывания на оборудовании с ограниченными ресурсами приложений, которым не требуются все компоненты платформы;
  • Новая система сборки на основе Autoconf;
  • Интеграция Nashorn, легковесного и высокопроизводительного движка JavaScript, работающий поверх виртуальной машины Java (JVM);
  • Новый API для работы с датами и временем. Новые Calendar и Locale API;
  • Повторяющиеся аннотации (Repeating Annotations), позволяющие применить один и тот же тип аннотации более одного раза в одном объявлении или применении типа.
  • Тип аннотаций, предоставляющий возможность применения аннотаций везде, где используются типы, а не только при объявлении;
  • Новый пакет с классами java.util.stream, предоставляющий Stream API с поддержкой операций в стиле функционального программирования над потоками элементов;
  • Увеличение производительности HashMaps в условиях возникновения коллизий;
  • Улучшение средств шифрования: Включение по умолчанию TLS 1.2 на стороне клиента. Усиление алгоритмов для шифрования с использованием паролей. Поддержка SNI (Server Name Indication) в JSSE Server для обеспечения доступа через шифрованное соединение к виртуальным хостам на одном IP. Поддержка хэширования SHA-224 и блочного шифра AEAD (Authenticated Encryption with Associated Data). Новый класс java.security.cert.PKIXRevocationChecker для настройки проверки отзыва сертификатов X.509. Поддержка аппаратного ускорения шифрования AES на процессорах Intel;
  • Многочисленные улучшения в JavaFX, включая новые элементы управления DatePicker и TreeTableView, класс SwingNode для встраивания контента Swing, новая тема оформления Modena, пакет javafx.print с API для вывода на печать, класс WebView, класс ScheduledService, поддержка архитектуры ARM, существенное расширение средств для работы с 3D-графикой (3D-формы, камера, освещение, субсцены, материалы, сглаживание);
  • Включение в состав Java DB 10.10;
  • В пакеты java.lang и java.util добавлены средства для параллельной сортировки массивов и функции кодирования/декодирования Base64.


Источник: http://www.opennet.ru/opennews/art.shtml?num=39334