web-dev-qa-db-fra.com

Quelle est la différence entre les cinq versions de Java sur cette page pour Ubuntu?

Je souhaite installer Java sur mon ordinateur afin de pouvoir développer des programmes et je suis tombé sur cette page sur Java dans la documentation de la communauté Ubunt . Ça dit:

Java est une technologie d'Oracle (anciennement: Sun Microsystems). Il y a plusieurs implémentations, dont cinq seront discutées ici:

  • OpenJDK : L’objectif principal du projet OpenJDK est de produire une implémentation open source de la plate-forme Java SE (6 et 7 ). Il s'agit de la version par défaut de Java qu'Ubuntu utilise et qui est la plus facile à installer.
  • Oracle (Sun) Java 6 : Oracle (Sun) Java 6 est l'implémentation de référence pour Java 6.
  • Oracle Java 7 : Oracle Java 7 est l'implémentation de référence pour Java 7 .
  • IBM Java : IBM Java est la solution préférée Java sur les ordinateurs PowerPC. C'est une réimplémentation avec un compilateur Just-In-Time. Il n’est disponible que sur le site Web d’IBM.
  • Compilateur GNU : Un compilateur Java créé par GNU. Seuls les développeurs devraient avoir à installer ceci.

Je lis le contenu mais je suis toujours un peu confus. Sont-ils tous des versions différentes de JDK? Si non, alors quoi?

Et lequel préférez-vous?

9
Programming Noob

Sont-ils tous des versions différentes de JDK? Si non, alors quoi?

Ils sont différents implémentations de Java/kits de développement pour Java (JDK). Java est une plate-forme standard, et tous implémentent cette plate-forme à leur manière. Parmi ceux-ci:

  • OpenJDK et GNU Compiler sont les seuls à être open source. Je les préfère généralement - la facilité d’installation (apt-get ou Software Center) est un facteur important.
    • OpenJDK, en particulier, est principalement dérivé du code source "officiel" Java que Oracle/Sun Open Source; il est soutenu par Oracle.
  • Oracle Java 6 et 7 sont "les" Java, si vous voulez, de la société qui a inventé Java (c'était Sun, mais Oracle les a achetés il y a longtemps). C'est pourquoi on les appelle des implémentations de référence. Vous voudrez peut-être les utiliser si vous utilisez également Oracle JDK sur une autre plate-forme ou si OpenJDK vous pose des problèmes.
    • Les 6 et 7 font référence à des versions du langage/de la plate-forme. 7 est plus récent et a plus de fonctionnalités, mais a été testé moins; 6 est extrêmement mature et stable. Je préférerais 6 si vous êtes débutant.
  • Contrairement au wiki, IBM fabrique des JDK/JRE pour toutes les plates-formes, bien que celles-ci puissent être les seules pour le PowerPC.

Si vous débutez dans la programmation, presque n'importe lequel d'entre eux conviendra bien. Optez pour OpenJDK simplement parce que c'est facile à installer.

La seule expérience dont je dispose pour les différencier est de les compiler dans un environnement disposant de peu de ressources (128-192 Mo RAM - un VPS); J'ai trouvé Oracle Java 6 JDK fonctionnant mieux pour un programme (c'est-à-dire réussi) et IBM Java 6 JDK pour un autre ...

6
ish

Java Language and Runtime Environment est une spécification. Tous ces packages sont des implémentations différentes de la même spécification.

Et lisez plus ici: https://stackoverflow.com/questions/1977238/why-should-i-use-the-Oracle-jdk-over-the-openjdk-or-vice-versa

Habituellement, vous devriez juste utiliser openJDK car cela fonctionne aussi bien que Oracles JDK mais est open source, vous n’aurez donc aucun problème avec les licences. Plus d'infos sur http://openjdk.Java.net/

2
Janning

Il explique ce qu’il en est sur la page, mais il s’agit essentiellement de Java d’Orcale qui viennent d’être développés par différents groupes.

  • OpenJDK est le développement open source de l'édition Oracles Java.
  • Java 6 et 7 ne sont que des versions d'Oracles Java édition standard. & est le plus récent et publié l'année dernière en juin ou juillet, je pense.
  • La version IBM était principalement utilisée pour les PowerPC car ses états n’auraient probablement pas beaucoup d’importance pour vous, sauf si vous avez un processeur PowerPC.
  • Le compilateur GNU est destiné aux développeurs qui codent en Java. C'est juste un compilateur pour Java. Si vous ne savez pas ce que c'est, vous n'en aurez probablement pas besoin à moins que vous ne vouliez en savoir plus sur le développement de Java.

J'utilise OpenJDK car cela fonctionne mieux avec Minecraft. Aucune autre raison ha.

Facture

1
LinuxBill

Pour autant que je sache, openJDK est presque identique au JDK de Sun, la principale différence est qu’il est open source. Vous ne pouvez pas utiliser un JDK IBM si vous êtes un utilisateur de PC, car il est restreint sous PowerPC.Le gcj n’est pas considéré comme un bon choix pour moi car il semble encore immature.

1
Hongxu Chen

Cela suscitera probablement la colère de nombreux autres utilisateurs du logiciel libre, mais voici ma réponse brève.

Oracle a acquis Sun, Oracle (Sun) Java 6 n'est que l'ancienne version d'Oracle Java 7. Cela dit. Sauf si vous avez une très bonne raison de ne pas utiliser la version d'Oracle. Tout le reste est une tentative de réplication qu'Oracle a faite et aucune d'entre elles n'est aussi bonne.

En ce qui concerne la qualité. GNU Java est la pire tentative de la machine virtuelle que j'ai jamais vue .. sauf si vous appréciez les crashs fréquents .. ne l'utilisez pas. IBM Java - ne l'a jamais utilisé honnêtement, donc pas d'opinion sur OpenJDK - si vous envisagez d'utiliser une implémentation open source de la machine virtuelle Java, j'utiliserais OpenJDK et la version 7.x.

0
csgeek

FWIW, j'ai eu moins de problèmes avec Oracle/Sun Java que toute autre version. OpenJDK fonctionne la plupart du temps. Je n'ai jamais obtenu que GNU Java fonctionne. IBM Java semble bon, mais je n'ai pas beaucoup d'expérience avec cela.

WebUpd8te a un PPA qui facilite l’installation via apt-get. À moins que vous n'ayez une raison d'utiliser une version différente, telle qu'une licence, j'utiliserais Oracle Java.

0
JimBeam823