198 votes

Java SE 6 vs. JRE 1.6 vs. JDK 1.6 - Qu'est-ce que cela signifie ?

Je vois de nombreux termes Java différents qui circulent. Je dois installer le JDK 1.6. J'avais cru comprendre que Java 6 = = Java 1.6. Cependant, lorsque j'installe Java SE 6, j'obtiens une JVM qui indique une version 11.0 ! Qui peut résoudre cette folie ?

17 votes

Il y a une belle Diagramme conceptuel de Java (avec des liens cliquables) qui peuvent aussi vous aider.

197voto

Jonathan Leffler Points 299946
  • JDK - Kit de développement Java
  • JRE - Environnement d'exécution Java
  • Java SE - Java Standard Edition

La SE définit un ensemble de capacités et de fonctionnalités ; il existe des éditions plus complexes (Enterprise Edition - EE) et des éditions plus simples (Micro Edition - ME - pour les environnements mobiles).

Le JDK comprend le compilateur et d'autres outils nécessaires au développement d'applications Java ; le JRE ne le fait pas. Ainsi, pour exécuter une application Java fournie par un tiers, vous avez besoin de JRE ; pour développer une application Java, vous avez besoin de JDK.

Modifié : Comme Chris Marasti-Georg l'a souligné dans un commentaire, vous pouvez trouver beaucoup d'informations sur le site de Sun Java site web, et en particulier du Java SE section, (2ème option, Java SE Development Kit (JDK) 6 Update 10).


Modifié le 2011-04-06 : Le monde tourne, et Java est désormais géré par Oracle, qui a racheté Sun. Plus tard cette année, le sun.com Le domaine est censé devenir sombre. La nouvelle page (basée sur une redirection) est la suivante Java sur la page Oracle Tech Network. (Voir aussi java.com .)


Modifié le 11 janvier 2013 : Et le monde continue de tourner (malgré le 21 décembre 2012), et voilà que JRE 6 est sur le point d'atteindre la fin de son support. Oracle dit qu'il n'y aura plus de mises à jour publiques de Java 6 après février 2013.

Dans une version donnée de Java, cette réponse reste valable. JDK est le kit de développement Java, JRE est l'environnement d'exécution Java, Java SE est l'édition standard, et ainsi de suite. Mais la version 6 (1.6) devient désuète.

Modifié le 2015-04-29 : Et avec deux autres révolutions autour du soleil, le temps est venu de mettre fin à la prise en charge de Java SE 7, également. En avril 2015, Oracle affirmée qu'il ne fournissait plus de mises à jour publiques pour Java SE 7. La fin provisoire des mises à jour publiques pour Java SE 8 est prévue pour mars 2017, mais cette date est susceptible d'être modifiée (plus tard, pas plus tôt).

1 votes

Donc, si j'ai besoin du JDK 1.6, qu'est-ce que je dois installer ? L'installation de Java SE 6 me donne une JVM qui indique une version 11.0 !

1 votes

Vous devez aller sur le site de Sun et télécharger le JDK 1.6 ou 6, quel que soit le nom qu'ils lui donnent.

0 votes

Je pense que ce qui est livré avec Java SE 6 devrait être le JDK correct, malgré les différences de numéro de version interne.

118voto

Xonatron Points 2799

Cela pourrait aider quelqu'un :

J'installe la dernière version de Java sur mon système pour le développement, et actuellement c'est Java SE 7. Maintenant, plongeons dans cette "folie", comme vous le dites...

Tous ces éléments sont identiques (lorsque les développeurs parlent de Java pour le développement) :

  • Java SE 7
  • Java SE v1.7.0
  • Kit de développement Java SE 7

Commencer avec Java v1.5 :

  • v5 = v1.5.
  • v6 = v1.6.
  • v7 = v1.7.

Et nous pouvons supposer que cela restera le cas pour les futures versions.

Ensuite, pour les développeurs, téléchargez JDK, et non JRE.

Le JDK contient le JRE. Si vous avez besoin de JDK et de JRE, prenez JDK. Les deux seront installés à partir de l'installation unique de JDK, comme vous le verrez ci-dessous.

Comme quelqu'un l'a mentionné plus haut :

  • JDK = Java Development Kit (les développeurs en ont besoin, c'est vous si vous codez en Java)
  • JRE = Java Runtime Environment (les utilisateurs en ont besoin, c'est le cas de tous les utilisateurs d'ordinateurs aujourd'hui)
  • Java SE = Java Standard Edition

Voici les liens que j'ai suivis pas à pas (une étape mène à la suivante, tout cela pour un seul téléchargement) pour télécharger Java pour le développement (JDK) :

  1. Visitez "Java SE Downloads" : http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Cliquez sur "JDK Download" et visitez "Java SE Development Kit 7 Downloads" : http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (Notez que si vous suivez le lien de l'étape 1, vous serez redirigé vers un autre lien, car les mises à jour de JDK 1.7 et les versions ultérieures sont maintenant disponibles).
  3. Accepter l'accord :)
  4. Cliquez sur "Java SE Development Kit 7 (Windows x64)" : http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-Windows-x64.exe (pour mon système Windows 7 64 bits)
  5. Vous êtes en train de télécharger (avec un peu de chance, la dernière version) le JDK pour votre système ! :)

Gardez à l'esprit que les liens ci-dessus ne sont donnés qu'à titre indicatif, pour vous montrer la méthode étape par étape de ce qu'il faut faire pour télécharger le JDK.

Et installer avec les paramètres par défaut à :

  • " C:\Program Fichiers \Java\jdk1.7.0\ "(JDK)
  • " C:\Program Fichiers \Java\jre7\ " (JRE) <--- pourquoi a-t-il demandé un nouveau dossier d'installation ? c'est JRE !

Rappelez-vous que JDK contient JRE, ce qui est logique si vous savez ce qu'ils sont tous les deux. Encore une fois, voir ci-dessus.

Après votre installation, vérifiez à nouveau " C:\Program Fichiers \Java "pour voir ces deux dossiers. Vous savez maintenant ce qu'ils sont et pourquoi ils sont là.

Je sais que j'ai écrit ceci pour les débutants, mais j'aime connaître les choses en détail, alors j'espère que cela vous aidera.

9 votes

Cette réponse doit être augmentée :)

0 votes

J'ai récemment dû installer un jre pour faire fonctionner l'un des autres installateurs, puis j'ai dû installer une version 32 bits pour que l'un des autres installateurs fonctionne. La version que j'utilise à la fin de tout cela est glassfish 4 qui ne semble toujours pas fournir javax.persistence. Il s'est avéré que j'avais besoin de maven, qu'il faut dézipper et ensuite définir certaines variables d'environnement. Quelle galère !

0 votes

Il me semble que Java SE et Java SDK sont un seul et même paquet.

60voto

Paul Tomblin Points 83687

Quand vous tapez "java -version", vous voyez trois numéros de version - la version de java (sur le mien, c'est " 1.6.0_07 "), la version du Java SE Runtime Environment ("build 1.6.0_07-b06 "), et la version HotSpot (sur la mienne, c'est " build 10.0-b23, mixed mode" ). Je pense que la "11.0" que vous voyez est la version HotSpot.

Mise à jour : HotSpot est (ou était, maintenant ils semblent l'utiliser pour désigner la VM entière) le compilateur juste-à-temps qui est intégré à la machine virtuelle Java. Dieu seul sait pourquoi Sun lui donne un numéro de version séparé.

7 votes

Alors, quelle est la différence entre la JVM 1.6 et la JVM 11.0 ? Qu'est-ce que le hotspot ?

0 votes

Merci, c'était la confusion - deux numéros de version différents.

1 votes

En fait, HotSpot n'est pas un JIT. JIT implique que la compilation a lieu avant l'exécution. HotSpot utilise d'abord l'interprétation pour exécuter et analyser le code avant de compiler/optimiser des parties sélectionnées du programme.

25voto

Manav Points 3039

Une brève et peut-être incorrecte histoire des versions de Java

  • Java est une plateforme. Elle se compose de deux produits : le kit de développement logiciel et l'environnement d'exécution.

  • Lorsque Java est sorti pour la première fois, il était apparemment simplement appelé Java . Si vous étiez un développeur, vous connaissiez également la version, qui était une "1.0" normale et plus tard une "1.1". Les deux produits qui faisaient partie de la plate-forme ont également reçu des noms :

    • JDK - "Kit de développement Java".
    • JRE - "Environnement d'exécution Java".
  • Apparemment, les changements dans la version 1.2 étaient si importants qu'ils ont commencé à appeler la plateforme comme Java 2 .

    • La "distribution" par défaut de la plate-forme a reçu le nom de "standard" pour la distinguer de ses sœurs. Vous aviez donc trois plates-formes :

      • "Java 2 Standard Edition (J2SE)"
      • "Java 2 Enterprise Edition (J2EE)"
      • "Java 2 Mobile Edition (J2ME)"
    • Le JDK a été officiellement rebaptisé "Java 2 Software Development Kit".
  • Lorsque la version 1.5 est sortie, les responsables ont décidé qu'ils devaient "rebrander" le produit. La plate-forme Java a donc reçu deux versions - la version produit "5" et la version développeur "1.5" (Oui, la règle est explicitement mentionnée - "laissez tomber le '1'"). Cependant, le "2" a été conservé dans le nom. Ainsi, la plate-forme s'appelle désormais officiellement "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)" .

    • Ils se sont également rendu compte que la communauté des développeurs ne suivait pas leur changement de nom du JDK. Mais au lieu de revenir sur leur changement, ils ont simplement décidé de supprimer le "2" du nom des produits individuels, qui deviennent maintenant "Kit de développement J2SE 5.0 (JDK 5.0)" y "J2SE Runtime Environment 5.0 (JRE 5.0)" .
  • Quand la version 1.6 est sortie, quelqu'un a réalisé qu'avoir deux chiffres dans le nom était bizarre. Ils ont donc décidé de supprimer complètement le 2 (et le suffixe ".0"), et nous nous retrouvons avec la version 1.6. "Java Platform, Standard Edition 6 (Java SE 6)" contenant le "Kit de développement Java SE 6 (JDK 6)" et le "Environnement d'exécution Java SE 6 (JRE 6)" .

  • La version 1.7 n'a rien fait de stupide. Si je devais deviner, le prochain grand changement serait de laisser tomber le "SE", de sorte que le cycle soit complet et que le JDK soit à nouveau appelé "Java Development Kit".

Notes

  • Pour des raisons de simplicité, un certain nombre de signes de marque ont été omis. Donc supposez Java™, JDK™ et JRE™.

  • SO semble avoir des difficultés à rendre les listes imbriquées.

Références

Epilogue

Il suffit de supprimer le "1." des versions imprimées par javac -version y java -version et tu es prêt à partir.

5 votes

La vache. Je croyais qu'il n'y avait que Microsoft qui avait des SDF fous qui inventaient des noms de produits.

3 votes

C'est de la folie. Je n'ai jamais été capable de les comprendre sans devoir les chercher explicitement à chaque fois.

6voto

toolkit Points 27248

Avec la sortie de Java 5, la version produit est devenue distincte de la version développeur, comme décrit ci-après. aquí

Version 1.5.0 ou 5.0 ?

Les deux numéros de version "1.5.0" et "5.0" sont utilisés pour identifier cette version de la plate-forme Java 2 Standard Edition. La version "5.0" est la version produit, tandis que "1.5.0" est la version développeur. Le nombre "5.0" est utilisé pour mieux refléter le niveau de maturité, de stabilité, d'évolutivité et de sécurité de la J2SE.

"Version 5.0" utilisée dans les noms de plate-forme et de produit

La version 5.0 est utilisée dans les noms de plate-forme et de produit indiqués dans ce tableau :

Nom complet

Abréviation

Nom de la plate-forme

Java™ 2 Platform Standard Edition 5.0

J2SE™ 5.0

Produits livrés dans le cadre de la plate-forme

Kit de développement J2SE™ 5.0

JDK™ 5.0

Environnement d'exécution J2SE™ 5.0

JRE 5.0

"Version 1.5.0" utilisée par les développeurs

J2SE conserve également le numéro de version 1.5.0 (ou 1.5) à certains endroits qui ne sont visibles que par les développeurs, ou lorsque le numéro de version est analysé par les programmes. Comme mentionné, 1.5.0 fait référence exactement à la même plate-forme et aux mêmes produits numérotés 5.0. Les numéros de version 1.5.0 et 1.5 sont utilisés à :

  • java -version (entre autres informations, renvoie la version de java "1.5.0")
  • java -fullversion (renvoie la version complète de java "1.5.0-b64")
  • javac -source 1.5 (javac -source 5 fonctionne aussi)
  • Propriété du système java.version
  • propriété du système java.vm.version
  • Valeurs des balises @since 1.5
  • répertoire d'installation de jdk1.5.0
  • Répertoire d'installation de jre1.5.0
  • http://java.sun.com/j2se/1.5.0 ( http://java.sun.com/j2se/5.0 fonctionne également)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X