Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/23 февраля 2022. Пока процесс обсуждения не завершён, статью можно попытаться улучшить, однако следует воздерживаться от переименований или немотивированного удаления содержания, подробнее см. руководство к дальнейшему действию. Не снимайте пометку о выставлении на удаление до подведения итога обсуждения.
Первый выпуск. Первой стабильной версией стала JDK 1.0.
JDK 1.1 (19 февраля 1997)
Наиболее значимые дополнения:
обширное изменение событий библиотеки AWT
в язык добавлены внутренние классы
JavaBeans (классы в языке Java, написанные по определённым правилам. Они используются для объединения нескольких объектов в один для удобной передачи данных)
JDBC (соединение с базами данных) — платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД
ограниченная рефлексия (модификация во время выполнения невозможна, есть только наблюдение собственной структуры)
J2SE 1.2 (8 декабря 1998)
Кодовое имя Playground.
Следующей базовой версией Java стала версия Java 2, символизировавшая собой второе поколение. Первой версии Java 2 был присвоен номер 1.2. С появлением версии 2, SUN Microsystems стала выпускать Java в виде пакета J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2) и теперь номера версий указываются применительно к этому продукту.
Java 2, или Java 2.0 — дальнейшее развитие и усовершенствование спецификации исходного стандарта языка и платформы Java, на который теперь принято ссылаться как на Java 1.0. В настоящее время спецификация платформы Java 2 продолжает интенсивно развиваться и обогащаться, пополняясь новыми возможностями, особенно из-за конкуренции с платформой .Net, перенявшей у Java ряд ключевых особенностей.
Основными усовершенствованиями Java 2 по сравнению с Java 1.0 являются:
Включение в JDK для Java 2 JIT-компилятора, улучшенная производительность
Усовершенствования инструментальных средств JDK, включая поддержку профилирования Java-программ
J2SE 1.3 (8 мая 2000)
Кодовое имя Kestrel.
Этот раздел нужно дополнить.
Пожалуйста, улучшите и дополните раздел.(26 марта 2014)
J2SE 1.4 (6 февраля 2002)
Кодовое имя Merlin.
Этот раздел нужно дополнить.
Пожалуйста, улучшите и дополните раздел.(26 марта 2014)
J2SE 5.0 (30 сентября 2004)
Кодовое имя Tiger.
Спецификация Java 5 была выпущена в сентябре 2004 года. В данной версии разработчики внесли в язык целый ряд принципиальных дополнений:
Перечислимые типы (enum). Ранее отсутствовавшие в Java типы оформлены по аналогии с C++, но при этом имеют ряд дополнительных возможностей.
Перечислимый тип является полноценным классом Java, то есть может иметь конструктор, поля, методы, в том числе скрытые и абстрактные.
Перечисление может реализовывать интерфейсы.
Для перечислений имеются встроенные методы, дающие возможность получения значений типа по имени, символьных значений, соответствующих именам, преобразования между номером и значением, проверки типа на то, что он является перечислимым.
Аннотации — возможность добавления в текст программы метаданных, не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнении. Одновременно выпущен инструментарий для использования аннотированного кода. Одно из применений аннотаций — упрощение создания тестовых модулей для Java-кода.
Средства обобщённого программирования (generics) — механизм, аналогичный Eiffel (позже также появились и в C#, принципиально отличаются от шаблонов C++), дающий возможность создавать классы и методы с полями и параметрами произвольного объектного типа. С использованием данного механизма реализованы новые версии коллекций стандартной библиотеки Java.
Методы с неопределённым числом параметров.
Autoboxing/Unboxing — автоматическое преобразование между скалярными типами Java и соответствующими типами-обёртками (например, между int и Integer). Наличие такой возможности упрощает код, поскольку исключает необходимость в выполнении явных преобразований типов в очевидных случаях.
Разрешён импорт статических методов и переменных.
В язык введён цикл по коллекции объектов (итератор, foreach).
Пожалуйста, улучшите и дополните раздел.(26 марта 2014)
Java SE 7 (7 июля 2011)
Java 7 (кодовое имя Dolphin[5]) это крупное обновление Java.[6]. Процесс разработки был разбит на 13 этапов; последний этап был достигнут 18 февраля 2011[7][8].
Средства для параллельного исполнения в рамках JSR 166[18]
Новая библиотека Ввода-вывода для улучшения платформонезависимости и поддержки метаданных и символьных ссылок. Пакеты: java.nio.file и java.nio.file.attribute[19][20]
Stream API – Возможность выполнения последовательности операций над элементами массива, а также возможность производить их параллельно (parallelStream);
Добавлены операции над ассоциативными массивами (Map)
Появились ссылки на метод или конструктор
Появились предикаты, функции, поставщики (Фабрики объектов), опциональные значения, конструктор компаратора.
Java 9
На JavaOne[англ.] 2011, Oracle обсудила возможности, которые возможно были бы выпущены к Java 9 в 2016.[24] Java 9 должна была поддерживать улучшенную поддержку многогигабайтных куч, лучшую интеграцию нативного кода, изменённый стандартный сборщик мусора (G1 с «укороченным временем отзыва»)[25] и самонастраиваемая[англ.] JVM.[26]
В начале 2016 релиз Java 9 был отложен на март 2017,[27] позже перенесён на июль 2017,[28] а потом перенесён на сентябрь 2017,[29] из-за спорного принятия проекта Jigsaw Исполнительный комитет Java,[30] который заставил Oracle исправить некоторые проблемы безопасности и критические технические вопросы. В последние дни июня 2017, Исполнительный комитет Java выразил единогласное согласие за систему модулей.[31]
JEP 193: Variable Handles:[40] определение стандарта вызова эквивалентов различных операций java.util.concurrent.atomic и sun.misc.Unsafe.
JEP 282: jlink (компоновщик Java):[44] создание инструмента, который может скомпоновать и оптимизировать комплект модулей с зависимостями в Runtime. Это позволяет создавать запускаемые файлы без дополнительных установок, даже JVM.
Первый RC Java 9 был выпущен 9 августа 2017.[45] Первый стабильный релиз был 21 сентября 2017[46]