Компания Oracle официально передала описание будущих версий языка Java на формальную спецификацию. Среди них – Java 7 и 8 Standard Edition.
Документы «запрос на спецификацию Java» (JSR) были переданы для рассмотрения сообществу Java Community Process. Главный архитектор Oracle по платформе Java Марк Рейнхолд пишет в своём блоге: «Эти спецификации разрабатывались долгое время. И теперь, наконец, они находятся на голосовании JCP. Результаты станут известны в течение двух недель».
Спецификации включают в себя:
- JSR 336: Java SE 7
- JSR 337: Java SE 8
- JSR 334: Небольшие улучшения языка программирования Java
- JSR 335: Лямбда-выражения в языке программирования Java
Java SE станет основой для более серьёзной платформы Java EE (Enterprise Edition).
Java SE 7 или Java Platrom Standard Edition 7 «будет способствовать лучшим практикам кодирования и сократит количество шаблонного кода путём добавления возможностей повышения продуктивности в язык Java и программные интерфейсы Java SE», – говорится в JSR. Новые особенности состоят в повышении уровня абстракции большинства приложений «прагматичным» путём без какого-либо значимого влияния на существующий код и с минимальным переобучением для всех разработчиков. "Мы предлагаем включить помимо прочих усовершенствований автоматическое управление ресурсами ввода-вывода, простое использования так называемых «дженериков» (generics) и более простые варианты обработки исключительных ситуаций.
Также в Java SE 7 должен быть представлен распараллеленный программный интерфейс для использования возможностей многоядерных процессоров и улучшения для динамических скриптовых языков. API для асинхронной работы увеличит производительность интенсивных операций ввода-вывода. JSR указывает на июль 2011 года в качестве даты финального выхода спецификаций.
В спецификациях Java SE 8 говорится, что эта версия языка «приведёт к дальнейшему уменьшению шаблонного кода путём добавления функций повышения производительности в языке Java и его программном интерфейсе». Кроме того, Java SE 8 за счёт интеграции системных модулей в платформе затронет то, что сейчас называют "адом" Java-архивов.
Кроме того, Java Collections Framework и связанные программные интерфейсы расширятся в восьмой версии языка и внесут поддержку автоматической распараллеливаемости сложных операций с данными. «Удобное использование новых программных интерфейсов будет реализовано за счёт включения лямбда-выражений. Эти изменения в языке улучшат продуктивность разработчиков, использующих существующие API с абстрактными методами».
Выход финальных спецификаций Java SE 8 запланирован на октябрь 2012 года.
JSR 334 предназначен для упрощения работы программистов. Они изменяют язык Java и спецификацию программных интерфесов за счёт поддержки новых возможностей, таких как строки в блоке switch, бинарные интегральные литералы, множественная обработка исключений, более точная генерация исключений и улучшенный способ создания экземпляров объектов. Спецификация должна выйти в июле следующего года.
Лямбда-выражения, описанные в JSR 335, расширяют виртуальную машину Java. «Мы предлагаем расширить язык Java за счёт поддержки компактных лямбда-выражений (также известных как закрытые или анонимные методы). Кроме того, мы собираемся расширить язык SAM-преоразованиями, чтобы лямбда-выржаения могли быть использовани там, где ожидается класс или интерфейс с единичным абстрактным методом. Это также позволит сохранить совместимость с существующими библиотеками». Выход данных спецификаций намечен на июль 2012 года.