Podsumowanie różnic między wersjami Java? [Zamknięte]

14

Jakie są główne różnice między wersją Java pod względem tworzenia oprogramowania? Gdzie można znaleźć podsumowanie najważniejszych zmian związanych z programowaniem?

Informacje o wersji, takie jak http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html, mogą być trudne do odczytania.

Na przykład w Javie 1.5 istnieje nowa struktura kodu „dla każdego”.

Boucekv
źródło
1
W skompilowanej dokumentacji Java z http://javadoc.allimant.org znajdziesz nowości? sekcja w spisie treści. Java Historia wersji dostępna jest na Wikipedii.
Axel Kemper

Odpowiedzi:

94

To jest streszczenie doskonałego artykułu w Wikipedii na temat historii wersji Java . Jest wysoce wybiórczy (i stronniczy w stosunku do tego, co wiem i używam), w przeciwnym razie okazałby się kopią artykułu.

Te pogrubione części są co naprawdę przyniósł język do przodu jako całość. Jak widać, nie każde wydanie ma odważne części.

Java 11

JSR 384 , co nowego

Zmiany językowe:

Zmiany w bibliotece:

Java 10

JSR 383 , co nowego

Zmiany językowe:

Java 9

JSR 379 , co nowego

Zmiany językowe:

Zmiany w bibliotece:

  • Java Platform Module System (układanka)
    • modularyzacja samej platformy
    • sprawia, że ​​moduły są obywatelami pierwszej klasy, które mają zastąpić bałaganiarską ścieżkę klasy modułami z prawdziwymi informacjami o zależnościach

Inne zmiany:

  • Wydaje się, że ludzie przeszli przez konwencję nazewnictwa 1.x , prawie nikt nie nazywa tego „Java 1.9”.

Java 8 (alias 1.8)

JSR 337 , co nowego

Zmiany językowe:

  • wyrażenia lambda ( JSR 335 , zawiera uchwyty metod)
  • kontynuacja Project Coin (drobne poprawki językowe)
  • adnotacje na temat typów Java

Zmiany w bibliotece:

Java 7 (alias 1.7)

JSR 336 , funkcje i ulepszenia

Zmiany językowe:

Zmiany w bibliotece:

Zmiany platformy:

Java 6 (alias 1.6)

JSR 270 . funkcje i ulepszenia

Głównie stopniowych ulepszeń do istniejących bibliotek, żadne nowe funkcje językowe (z wyjątkiem tej @Overridesnafu ).

Java 5 (aka 1.5)

JSR 176 , funkcje i ulepszenia

Zmiany językowe:

Zmiany w bibliotece:

  • narzędzia współbieżności w java.util.concurrent

Java 1.4

JSR 59

Zmiany językowe:

Zmiany w bibliotece:

Java 1.3

Naprawdę, głównie drobne poprawki.

Zmiany platformy:

  • HotSpot JVM: ulepszenie w stosunku do oryginalnego JIT

Java 1.2

Zmiany językowe:

Zmiany w bibliotece:

  • ujednolicone zbiory System
  • Swing jako nowy system interfejsu użytkownika na szczycie AWT

Zmiany platformy

  • prawdziwy JIT, znacznie poprawiający prędkość

Java 1.1

Zmiany językowe:

  • klasy wewnętrzne

Zmiany w bibliotece:

  • Zmiany zdarzeń AWT
  • JDBC, RMI
  • odbicie

Java 1.0

Pierwsze wydanie, wszystko jest nowe ;-)

Joachim Sauer
źródło
2
Wyjaśnienie, dlaczego Java 6 miała tak małe zmiany, wydaje się znajdować na stronie JSR 270 : wygląda na to, że wtedy eksperymentowali z pomysłem wydania zależnego od czasu zamiast wydania opartego na cechach : „celem jest regularne dostarczanie nowych funkcji Cykl 18-24 miesięcy ... ”
komara
@gnat: to brzmi dobrze, ale odpowiedź jest wystarczająco wypełniona, chciałbym zachować dodatkowe informacje, takie jak ta, poza listą.
Joachim Sauer,
@JoachimSauer tak, twoja odpowiedź brzmi właściwie bez tych szczegółów „osadzonych”. Chociaż ... prawdopodobnie nie zaszkodzi, jeśli dodasz linki do odpowiednich parasolowych raportów JSR dla wersji 1.4 i późniejszych, które domyślnie to obejmą, wraz z być może bardziej szczegółowymi informacjami
komnata
1
Hej, Axel, proszę, nie czuj się wcale źle. Z całą pewnością obwiniajmy sieć! Dlaczego nie możemy ponownie opublikować konturu z Wikipedii tutaj na PE? Dlaczego musimy uciekać się do kopiowania i wklejania? Dlaczego nie ma mechanizmu wyświetlania treści z Wikipedii w pE? IMO to powinny być podstawowe rzeczy. Wyobraź sobie, że Java 1.9 wychodzi z tego, co myślisz. Która strona będzie aktualizowana? Ta odpowiedź to po prostu skopiuj i wklej, programiści powinni tego unikać, nie?
AndreasScheinert
1
@AndreasScheinert: Wikipedia jest inna niż SE. Pełny artykuł z Wikipedii zdecydowanie stanowiłby zbyt wiele informacji na to pytanie. Ponadto uważam, że licencje nie zezwalają na kopiowanie i wklejanie treści.
Joachim Sauer