История версий 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]
- Поддержка виртуальной машиной динамических языков в рамках Мультиязыковой виртуальной машины
- Сжатые 64-битные указатели[6] Доступны в Java 6 с параметром -XX:+UseCompressedOops
- Изменения в рамках Project Coin.[7][8] Возможности, включенные в Project Coin:
-
- Строки в 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].
См. также [править]
Примечания [править]
- ↑ JDK7, Sun.
- ↑ Flanagan, David The Open Road: Looking Ahead to Java 7 (8 сентября 2007). Проверено 9 марта 2008.
- ↑ JDK 7 at OpenJDK
- ↑ http://openjdk.java.net/projects/jdk7/milestones/
- ↑ Miller, Alex Java 7. Проверено 30 мая 2008.
- ↑ Compressed oops in the Hotspot JVM. OpenJDK. Проверено 16 апреля 2010.
- ↑ Project Coin. Sun Microsystems. Проверено 30 марта 2009.
- ↑ Darcy, Joseph D. Project Coin: Small Language Change Proposal Form Available (27 января 2009). Проверено 30 марта 2009.
- ↑ Proposal: Strings in Switch
- ↑ Proposal: Automatic Resource Management
- ↑ Proposal: Improved Type Inference for Generic Instance Creation
- ↑ PROPOSAL: Simplified Varargs Method Invocation
- ↑ Darcy, Joseph D. Project Coin: The Final Five (Or So). Проверено 16 апреля 2010.
- ↑ Concurrency JSR-166. Проверено 16 апреля 2010.
- ↑ File I/O (Featuring NIO.2) (The Java™ Tutorials > Essential Classes > Basic I/O)
- ↑ Legacy File I/O Code (The Java™ Tutorials > Essential Classes > Basic I/O)
- ↑ Re-thinking JDK 7 (8 сентября 2010). Проверено 20 сентября 2010.
- ↑ Update Release Notes, Java SE 7 Update 1
- ↑ Update Release Notes, Java SE 7 Update 2
- ↑ Update Release Notes, Java SE 7 Update 3
- ↑ Java SE 8 Release Contents. OpenJDK.
- ↑ Java 7 Features. Sun Microsystems (9 февраля 2010). Проверено 16 апреля 2010.
- ↑ Reinhold, Mark Closures for Java (28 ноября 2009). Проверено 24 ноября 2009.
- ↑ Project Jigsaw. OpenJDK.
- ↑ Java Module-System Requirements — DRAFT 12. Oracle.
- ↑ infoworld.
- ↑ 1 2 JavaFX | JavaFX Roadmap
- ↑ Java SE 8 Release Contents. OpenJDK.
- ↑ Java 7 Features. Sun Microsystems (9 февраля 2010). Проверено 16 апреля 2010.
- ↑ Reinhold, Mark Closures for Java (28 ноября 2009). Проверено 24 ноября 2009.
- ↑ Project Jigsaw. OpenJDK.
- ↑ Java Module-System Requirements — DRAFT 12. Oracle.
- ↑ infoworld.
Ссылки [править]
| Java | ||
|---|---|---|
| Платформы | ||
| Технологии Sun |
Java • Java Development Kit • OpenJDK • WTK • Java Virtual Machine • JavaFX • JAXP • Squawk |
|
| Основные сторонние технологии |
GNU Classpath • GNU компилятор для Java • Kaffe • TopLink • Apache Harmony • Apache Struts • Spring Framework • Dalvik • Hibernate • JBoss • Processing • Dozer • AspectJ |
|
| История |
История версий Java • Критика Java • Java Community Process • Sun Microsystems • Свободные реализации Java |
|
| Свойства языка |
Байткод • Синтаксис • Апплеты • Сервлеты • Мидлеты • JavaServer Pages • Web Start • Enterprise JavaBeans |
|
| Скриптовые языки |
Java Tcl • Jython • JRuby • BeanShell • Groovy • Judoscript • Sleep • Bean Scripting Framework • Yoix • Rhino |
|
| Конференции Java | ||