Резюме различий между версиями Java? [закрыто]

14

Каковы основные различия между версиями Java с точки зрения разработки программного обеспечения? Где можно найти краткое изложение наиболее важных изменений, связанных с программированием?

Примечания к выпуску, такие как http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html, могут быть трудночитаемыми.

Например, есть новая структура кода «для каждого» в Java 1.5.

boucekv
источник
1
В скомпилированной документации Java от http://javadoc.allimant.org вы найдете что нового? раздел в оглавлении. История версий Java доступна в Википедии.
Аксель Кемпер

Ответы:

94

Это краткое изложение отличной статьи Википедии об истории версий Java . Это очень избирательно (и предвзято по отношению к тому, что я знаю и использую), иначе это просто окажется копией статьи.

Эти смелые части , что действительно принес язык вперед в целом. Как видите, не в каждом выпуске есть смелые части.

Java 11

JSR 384 , что нового

Языковые изменения:

Изменения библиотеки:

Java 10

JSR 383 , что нового

Языковые изменения:

Java 9

JSR 379 , что нового

Языковые изменения:

Изменения библиотеки:

  • Модульная система платформы Java (Jigsaw)
    • модульность самой платформы
    • делает модули первоклассным гражданином, призванным заменить грязный путь к классам модулями с реальной информацией о зависимостях

Другие изменения:

  • Люди, кажется, преодолели соглашение об именах 1.x , почти никто не называет это «Java 1.9».

Java 8 (он же 1.8)

JSR 337 , что нового

Языковые изменения:

  • лямбда-выражения ( JSR 335 , включает дескрипторы методов)
  • продолжение Project Coin (небольшие языковые улучшения)
  • аннотации на типах Java

Изменения библиотеки:

Java 7 (он же 1.7)

JSR 336 , особенности и улучшения

Языковые изменения:

Изменения библиотеки:

Изменения платформы:

Java 6 (ака 1.6)

JSR 270 . особенности и улучшения

В основном постепенные улучшения существующих библиотек, никаких новых возможностей языка (за исключением в @Overrideнеразберихе ).

Java 5 (он же 1.5)

JSR 176 , особенности и улучшения

Языковые изменения:

Изменения библиотеки:

  • утилиты параллелизма в java.util.concurrent

Java 1.4

JSR 59

Языковые изменения:

Изменения библиотеки:

Java 1.3

В основном незначительные улучшения, правда.

Изменения платформы:

  • HotSpot JVM: улучшение по сравнению с оригинальным JIT

Java 1.2

Языковые изменения:

Изменения библиотеки:

Изменения платформы

  • настоящий JIT, значительно улучшающий скорость

Java 1.1

Языковые изменения:

  • внутренние классы

Изменения библиотеки:

  • Изменения AWT
  • JDBC, RMI
  • отражение

Java 1.0

Первоначальный выпуск, все новое ;-)

Йоахим Зауэр
источник
2
Объяснение того, почему в Java 6 было так мало изменений, кажется на странице JSR 270 : похоже, тогда они экспериментировали с идеей управляемых временем выпусков вместо управляемых функциями : «цель состоит в том, чтобы выпустить выпуски функций на регулярной основе». 18-24 месяца цикла ... "
комнат
@gnat: это звучит правдоподобно, но ответ достаточно напичкан, я бы хотел, чтобы такая дополнительная информация не попала в список.
Иоахим Зауэр
@JoachimSauer да, твой ответ звучит правдоподобно, если эти детали не «встроены». Хотя ... это, вероятно, не помешало бы, если бы вы добавили ссылки на соответствующие зонтичные JSR для 1.4 и более поздних выпусков, которые бы неявно охватывали это, а также, возможно, более подробную информацию
gnat
1
Эй, Аксель, пожалуйста, не расстраивайся. Конечно, давайте обвинять в Интернете! Почему мы не можем переиздать контекст из Википедии здесь на PE? Почему мы должны прибегать к копированию и вставке? Почему нет механизма для отображения контента из Википедии в pE? ИМО это должно быть основным материалом. Представь себе java 1.9 выходит что думаешь. Какая страница будет обновляться - этот ответ просто скопировать и вставить, программисты должны избегать этого, нет?
AndreasScheinert
1
@AndreasScheinert: фокус Википедии отличается от SE. Полная статья в Википедии, безусловно, будет слишком много информации для этого вопроса. Кроме того, я думаю, что лицензии не позволят копировать и вставлять содержимое.
Йоахим Зауэр