Корпорация Oracle опубликовала список задач по дальнейшему развитию технологий Java на период после выпуска версии Java SE (Standard Edition) 8, которая должна появиться в следующем году. Сюда относятся планы поддержки объектов, облачных технологий, повышения простоты использования и дальнейшей оптимизации.
В версии JDK (Java Development Kit) 10 и более поздних редакциях должна появиться унифицированная система типов, из которой исчезнут примитивы — останутся только объекты. Об этом сообщается в презентации Oracle, озаглавленной To Java SE 8 and Beyond! («На пути к Java SE 8 и далее!») и опубликованной на сайте конференции QCon. Амбициозный список задач, судя по всему, был составлен технологическим идеологом Oracle Саймоном Риттером. Так, на слайде Java SE 9 (and Beyond) поставлена задача достижения интероперабельности путем создания виртуальной машины Java, поддерживающей множество различных языков, и улучшения интеграции Java с другими языками.
К «другим» языкам в первую очередь относятся JRuby, Scala и Groovy, ставшие популярными в последние годы и поддерживаемые виртуальной машиной Java. Очерчены планируемые сроки появления различных версий Java: JDK 9 — 2015 год, JDK 10 — 2017-й, JDK 11 — 2019-й, JDK 12 — 2021-й. Авторы презентации торжественно заявляют: «Java — это не новый Кобол».
Простота использования Java достигается путем автоматической настройки JVM и расширений языка. Дополнительная оптимизация предполагает введение унифицированной системы типов и оптимизацию структуры данных. В разделе презентации Works Everywhere and With Everything («Работает везде и в любой среде») изложены планы повышения масштабируемости Java с последующим переносом этой технологии как на встроенные системы, так и на мощные серверы, а также применения гетерогенных компьютерных сред.
В облачной среде виртуальные машины Java из состава JDK 9 и более поздних версий будут поддерживать гипервизоры и совместное использование страниц памяти. Концепция множественной аренды в JDK 8 предусматривает улучшение взаимодействия виртуальных машин Java в одной и той же операционной системе, а также управление ресурсами, выделяемыми потоку или группе потоков, и контроль за их состоянием. Что касается перспектив развития языка, то в JDK 9 появится поддержка больших данных, 64-разрядных вычислений и крупных массивов. Пакеты JDK 10 и более поздних версий будут поддерживать обобщенные конструкции, функциональные типы и оптимизацию структур данных, в том числе и многомерных массивов.
К гетерогенным компьютерным моделям в JDK 9 и более поздних версиях относятся средства поддержки языка Java графическими процессорами и программируемыми вентильными матрицами, механизмы выгрузки и удаленное выполнение кода PL/SQL. В презентации Oracle говорится также об «открытой разработке», в которой создание прототипов и исследовательские проекты будут выполняться с помощью OpenJDK — пакета для разработчиков программного обеспечения Java с открытым кодом. Корпорация Oracle планирует также укреплять сотрудничество с партнерами и научным сообществом.