El Réponse de Stephen C est correcte, et importante.
Oracle ne souhaite plus que les utilisateurs finaux installent un JRE ou un JDK. Applets Java dans un navigateur et Démarrage Web Java sont toutes deux en train d'être éliminées progressivement, laissant l'utilisateur final sans aucun besoin de JRE. Les applications basées sur Java sont censées regrouper leur propre implémentation Java. Les seules personnes qui installeront consciemment un JDK seront les développeurs et les administrateurs de systèmes côté serveur.
Important :
Apprenez-en davantage :
Les applications de bureau sont désormais censées regrouper leur propre moteur d'exécution Java. Les outils énumérés ci-dessus peuvent créer un très petit runtime adapté à votre application particulière.
Voici un diagramme de flux qui peut vous aider à trouver et à décider parmi les différents fournisseurs qui proposent une implémentation de Java 11.
Et un tableau répertoriant les motivations ou considérations possibles menant aux vendeurs suggérés de Java.
Problèmes de compatibilité
Dans les commentaires, une question a été soulevée, celle des problèmes de compatibilité entre les versions des différents fournisseurs.
Tout d'abord, sachez que le projet OpenJDK comprend une vaste suite de tests connus sous le nom de Kit de compatibilité technologique de la communauté OpenJDK (TCK) . Les vendeurs sont libres de déclarer eux-mêmes si leur version a passé ces tests. Ces déclarations ne sont pas vérifiées, et reposent sur le système de l'honneur. Sur mon diagramme ci-dessus, j'ai coché "TCK" sur les deux vendeurs que je sais avoir auto-déclaré : Oracle JDK par Oracle et Zulu par Azul Systems.
Tous les produits énumérés dans la zone bleue de mon graphique ci-dessus sont construits presque directement sur le code source d'OpenJDK. Donc, en général, vous devriez constater une compatibilité pratiquement identique.
Il y a deux sujets de préoccupation que vous pourriez considérer : les différences technologiques et le calendrier des mises à jour et des correctifs.
En ce qui concerne les différences technologiques, les fournisseurs qui utilisent le projet OpenJDK peuvent livrer avec l'une ou l'autre des options suivantes Moteur HotSpot ou le Moteur OpenJ9 . Ils seront différents en termes de performances (démarrage plus rapide/plus lent par rapport à la vitesse globale, plus/moins de mémoire), mais leur comportement en termes de conformité aux spécifications Java devrait être identique. Ils podría diffèrent, et l'un ou l'autre pourrait certainement présenter un défaut (qui serait probablement rapidement corrigé) que l'autre n'a pas. Personnellement, cela ne me préoccuperait pas, mais je le mentionne par souci d'exhaustivité.
Une autre différence technologique est le type différent de JVM utilisé par Zing d'Azul Systems et GraalVM d'Oracle. L'une ou l'autre de ces pourrait diffèrent d'une certaine manière les uns des autres ou des autres produits, parce qu'ils ont intentionnellement un type différent d'implémentation de la JVM, pour offrir des fonctionnalités spéciales. Mais étant donné la rigueur de la Spécifications Java ils ne devraient pas être incompatibles. S'ils l'étaient, vous pouvez vous attendre à ce que tout problème de compatibilité soit rapidement résolu. Si j'avais besoin des fonctions spéciales de l'un ou l'autre de ces produits, je les utiliserais en toute confiance.
Une autre préoccupation possible est la vitesse à laquelle un fournisseur peut mettre à jour ses propres versions avec certains correctifs de bogues ou de sécurité. Par exemple, Oracle a déclaré qu'il se réservait le droit d'envoyer immédiatement tout correctif prêt à ses propres clients, tout en le soumettant au projet OpenJDK pour examen. Il est certain que tous les vendeurs fournissant un support commercial sont susceptibles d'envoyer rapidement un correctif ou une rustine à leurs clients payants. Les versions construites par courtoisie pour la communauté et fournies gratuitement peuvent prendre plus de temps pour être mises à jour, probablement après que le projet OpenJDK ait incorporé un correctif ou un patch.
Et chaque fournisseur est libre de modifier sa base de code à sa guise, tant qu'il respecte la Spécifications Java . Par exemple, l'équipe Corretto d'Amazon a déjà apporté des améliorations à sa propre version, puis a partagé ces changements en amont du projet OpenJDK. Il peut y avoir un décalage dans le temps avant qu'OpenJDK n'intègre ces changements, s'ils décident de le faire. Il est donc possible que les différentes versions diffèrent. Mais à ce stade, tous les fournisseurs de la communauté Java semblent s'être sincèrement engagés à travailler ensemble pour éviter la fragmentation. Donc, encore une fois, je n'ai pas de réelle préoccupation ici, mais je mentionne ceci pour être complet.
0 votes
Similaire : Voir aussi : Obtenir Java 11 pour macOS ? .
2 votes
La réponse la plus complète ici, avec tous les fournisseurs jdk : stackoverflow.com/questions/52431764/