История версий Java

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Содержание

JDK 1.0 (23 января 1996) [править]

Кодовое имя Oak.

Первый выпуск. Первой стабильной версией стала JDK 1.0.2.

JDK 1.1 (19 февраля 1997) [править]

Наиболее значимые дополнения:

  • обширное изменение событий библиотеки AWT
  • в язык добавлены внутренние классы
  • JavaBeans (классы в языке Java, написанные по определённым правилам. Они используются для объединения нескольких объектов в один для удобной передачи данных)
  • JDBC (соединение с базами данных) — платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД
  • RMI (программный интерфейс вызова удаленных методов)
  • ограниченная рефлексия (модификация во время выполнения невозможна, есть только наблюдение собственной структуры)

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 являются:

  • Swing включен в спецификацию платформы Java 2
  • Коллекции
  • Policy файлы
  • Цифровые сертификаты пользователя
  • Библиотека Accessibility
  • Java 2D
  • Поддержка технологии drag-and-drop
  • Полная поддержка Unicode, включая поддержку ввода на японском, китайском и корейском языках
  • Поддержка воспроизведения аудиофайлов нескольких популярных форматов
  • Полная поддержка технологии CORBA
  • Включение в JDK для Java 2 JIT-компилятора, улучшенная производительность
  • Усовершенствования инструментальных средств JDK, включая поддержку профилирования Java-программ

J2SE 1.3 (8 мая 2000) [править]

Кодовое имя Kestrel.

J2SE 1.4 (6 февраля 2002) [править]

Кодовое имя Merlin.

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).

Java SE 6 (11 декабря 2006) [править]

Кодовое имя Codename Mustang.


Java SE 7.0 (7 июля 2011) [править]

Java 7 (кодовое имя Dolphin[1]) это крупное обновление Java.[2]. Процесс разработки был разбит на 13 этапов; последний этап был достигнут 18 февраля 2011[3][4].

Новые возможности в Java 7[5]

  • Строки в switch[9]
  • Автоматическое управление ресурсами[10]
  • Выведение типов при создании экземпляра обобщенного (generic) класса[11]
  • Упрощен вызов метода с переменным числом аргументов[12]
  • Поддержка подчеркиваний в качестве разделителей цифр для чисел (Возможность разбивать визуально числа на разряды, увеличивает удобочитаемость)
  • Поддержка коллекций на уровне языка[13]
  • Средства для параллельного исполнения в рамках JSR 166[14]
  • Новая библиотека Ввода/вывода для улучшения платформонезависимости и поддержки метаданных и символьных ссылок. Пакеты: java.nio.file и java.nio.file.attribute[15][16]
  • Поддержка алгоритмов эллиптической криптографии на уровне библиотеки.
  • XRender для Java 2D, улучшающий управление возможностями современных GPU
  • Новое графическое API, которое планировали выпустить в Java версии 6u10
  • Расширение поддержки сетевых протоколов (включая SCTP и Sockets Direct Protocol) на уровне библиотеки
  • Обновления в XML и Юникоде.

От Лямбда-функции, проекта Jigsaw и некоторых других возможностей проекта Coin в Java 7 было решено отказаться. Они будут отложены до Java 8.[17]

Java SE 7 Update 1 [править]

Вышла 18 октября 2011 года.

Изменения[18]:

  • данный релиз содержит исправления уязвимостей безопасности
  • исправлено 6 ошибок

Java SE 7 Update 2 [править]

Вышла 12 декабря 2011 года.

Изменения[19]:

  • Новый JVM (Java HotSpot Virtual Machine, версия 22), который повышает надежность и производительность
  • Поддержка Oracle Solaris 11
  • Поддержка Firefox 5 и старше
  • JavaFX входит в состав Java SE

Java SE 7 Update 3 [править]

Вышла 14 февраля 2012 года.

Изменения[20]:

  • данный релиз содержит исправления 14 уязвимостей безопасности

Java SE 8.0 [править]

Ожидается в середине 2013 года[21]. Будет содержать

  • Поддержку closures[22][23].
  • Модуляризация — проект Jigsaw[24][25](перенесено в java 9) [26]
  • Аннотации типов
  • Изменения, не вошедшие в Java 7
  • Тесная интеграция JavaFX[27].

Java SE 9.0 [править]

Ожидается в середине 2015 года[28]. Будет содержать

  • Поддержку closures[29][30].
  • Модуляризация — проект Jigsaw[31][32] [33]
  • Аннотации типов
  • Изменения, не вошедшие в Java 8
  • Тесная интеграция JavaFX[27].

См. также [править]

Java

Примечания [править]

  1. JDK7, Sun.
  2. Flanagan, David The Open Road: Looking Ahead to Java 7 (8 сентября 2007). Проверено 9 марта 2008.
  3. JDK 7 at OpenJDK
  4. http://openjdk.java.net/projects/jdk7/milestones/
  5. Miller, Alex Java 7. Проверено 30 мая 2008.
  6. Compressed oops in the Hotspot JVM. OpenJDK. Проверено 16 апреля 2010.
  7. Project Coin. Sun Microsystems. Проверено 30 марта 2009.
  8. Darcy, Joseph D. Project Coin: Small Language Change Proposal Form Available (27 января 2009). Проверено 30 марта 2009.
  9. Proposal: Strings in Switch
  10. Proposal: Automatic Resource Management
  11. Proposal: Improved Type Inference for Generic Instance Creation
  12. PROPOSAL: Simplified Varargs Method Invocation
  13. Darcy, Joseph D. Project Coin: The Final Five (Or So). Проверено 16 апреля 2010.
  14. Concurrency JSR-166. Проверено 16 апреля 2010.
  15. File I/O (Featuring NIO.2) (The Java™ Tutorials > Essential Classes > Basic I/O)
  16. Legacy File I/O Code (The Java™ Tutorials > Essential Classes > Basic I/O)
  17. Re-thinking JDK 7 (8 сентября 2010). Проверено 20 сентября 2010.
  18. Update Release Notes, Java SE 7 Update 1
  19. Update Release Notes, Java SE 7 Update 2
  20. Update Release Notes, Java SE 7 Update 3
  21. Java SE 8 Release Contents. OpenJDK.
  22. Java 7 Features. Sun Microsystems (9 февраля 2010). Проверено 16 апреля 2010.
  23. Reinhold, Mark Closures for Java (28 ноября 2009). Проверено 24 ноября 2009.
  24. Project Jigsaw. OpenJDK.
  25. Java Module-System Requirements — DRAFT 12. Oracle.
  26. infoworld.
  27. 1 2 JavaFX | JavaFX Roadmap
  28. Java SE 8 Release Contents. OpenJDK.
  29. Java 7 Features. Sun Microsystems (9 февраля 2010). Проверено 16 апреля 2010.
  30. Reinhold, Mark Closures for Java (28 ноября 2009). Проверено 24 ноября 2009.
  31. Project Jigsaw. OpenJDK.
  32. Java Module-System Requirements — DRAFT 12. Oracle.
  33. infoworld.

Ссылки [править]