Résumé des différences entre les versions Java? [fermé]

14

Quelles sont les principales différences entre les versions Java en termes de développement logiciel? Où peut-on trouver un résumé des changements les plus importants liés à la programmation?

Les notes de publication telles que http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html peuvent être difficiles à lire.

Par exemple, il existe une nouvelle structure de code "pour chacun" dans Java 1.5.

boucekv
la source
1
Dans la documentation Java compilée de http://javadoc.allimant.org , vous trouverez une nouveauté? dans la table des matières. Un historique des versions Java est disponible sur Wikipedia.
Axel Kemper

Réponses:

94

Ceci est un résumé de l'excellent article Wikipédia sur l'historique des versions Java . Il est très sélectif (et biaisé sur ce que je sais et utilise), sinon il se révélerait simplement être une copie de l'article.

Les parties en gras sont ce qui a vraiment fait avancer le langage dans son ensemble. Comme vous le voyez, toutes les versions ne comportent pas de parties en gras.

Java 11

JSR 384 , quoi de neuf

Changements de langue:

Modifications de la bibliothèque:

Java 10

JSR 383 , quoi de neuf

Changements de langue:

Java 9

JSR 379 , quoi de neuf

Changements de langue:

Modifications de la bibliothèque:

  • Java Platform Module System (scie sauteuse)
    • modularisation de la plateforme elle-même
    • fait des modules un citoyen de première classe destiné à remplacer le chemin de classe en désordre par des modules avec des informations de dépendance réelles

Autres changements:

  • Les gens semblent avoir surmonté la convention de nommage 1.x , presque personne n'appelle cela "Java 1.9".

Java 8 (aka 1.8)

JSR 337 , quoi de neuf

Changements de langue:

  • expressions lambda ( JSR 335 , inclut les descripteurs de méthode)
  • poursuite de Project Coin (petites améliorations linguistiques)
  • annotations sur les types Java

Modifications de la bibliothèque:

Java 7 (aka 1.7)

JSR 336 , fonctionnalités et améliorations

Changements de langue:

Modifications de la bibliothèque:

Changements de plate-forme:

Java 6 (alias 1.6)

JSR 270 . fonctionnalités et améliorations

Améliorations principalement incrémentielles des bibliothèques existantes, pas de nouvelles fonctionnalités de langage (sauf pour le @Overridesnafu ).

Java 5 (alias 1.5)

JSR 176 , fonctionnalités et améliorations

Changements de langue:

Modifications de la bibliothèque:

  • utilitaires de simultanéité dans java.util.concurrent

Java 1.4

JSR 59

Changements de langue:

Modifications de la bibliothèque:

Java 1.3

Des améliorations généralement mineures, vraiment.

Changements de plate-forme:

  • HotSpot JVM: amélioration par rapport au JIT d'origine

Java 1.2

Changements de langue:

Modifications de la bibliothèque:

  • un unifié collections système
  • Swing en tant que nouveau système d'interface utilisateur au-dessus d'AWT

Changements de plate-forme

  • un vrai JIT, améliorant considérablement la vitesse

Java 1.1

Changements de langue:

  • classes internes

Modifications de la bibliothèque:

  • Modifications des événements AWT
  • JDBC, RMI
  • réflexion

Java 1.0

Sortie initiale, tout est nouveau ;-)

Joachim Sauer
la source
2
L'explication de la raison pour laquelle Java 6 a eu si peu de changements semble être à la page JSR 270 : il semble qu'à l' époque, ils expérimentaient l'idée de versions temporelles au lieu de fonctionnalités : "l'objectif est de livrer les versions de fonctionnalités sur une base régulière Cycle de 18 à 24 mois ... "
moucheron le
@gnat: cela semble à peu près correct, mais la réponse est déjà assez complète, je voudrais garder des informations supplémentaires comme celle-ci en dehors de la liste.
Joachim Sauer
@JoachimSauer yup, votre réponse semble juste sans ces détails "intégrés". Bien que ... cela ne ferait probablement pas de mal si vous ajoutez des liens vers les JSR parapluies respectifs pour les versions 1.4 et ultérieures, cela le couvrirait implicitement, avec peut-être plus de détails
gnat
1
Hé Axel, ne te sens pas mal du tout. Blâmons certainement le web! Pourquoi ne pouvons-nous pas republier le contenu de Wikipedia ici sur PE? Pourquoi devons-nous recourir au copier-coller? Pourquoi n'y a-t-il pas de mécanisme pour afficher le contenu de Wikipedia en pE? OMI, cela devrait être des choses de base. Imaginez que java 1.9 sort ce que vous pensez. Quelle page sera maintenue à jour? Cette réponse est juste copier-coller, les programmeurs devraient l'éviter, non?
AndreasScheinert
1
@AndreasScheinert: l'objectif de Wikipedia est différent de SE. L'article complet de Wikipédia serait certainement trop d'informations pour cette question. De plus, je pense que les licences ne permettraient pas le copier-coller du contenu.
Joachim Sauer