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?
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:
apt-get
ou Software Center) est un facteur important. 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 ...
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/
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.
J'utilise OpenJDK car cela fonctionne mieux avec Minecraft. Aucune autre raison ha.
Facture
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.
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.
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.