[Java] Plates-formes parmi lesquelles choisir pour le développement Java à partir de maintenant (2020)

J'ai entendu des rumeurs sur Java, mais je ne sais pas laquelle utiliser lorsque j'essaye de l'utiliser. J'espère que la période de support est longue et qu'elle ne coûte pas cher. Ceci est un résumé des informations pour une telle personne (self: smiley :: point_left :).

Liste JDK

J'ai essayé de résumer Java qui peut être utilisé comme environnement d'exécution pour les produits livrés aux clients par les développeurs de contrats.

Nom Version Java Système d'Exploitation pris en charge Date limite de support Les choses nécessaires Licence
Oracle JRE(OracleJavaSE) 8 Windows, Linux, macOS, Solaris Mars 2025 Acheter un abonnement OTN Agreement for Oracle Java SE
Oracle Java SE 11 Windows, Linux, macOS Septembre 2026 Acheter un abonnement OTN Agreement for Oracle Java SE
Red Hat OpenJDK (Pour les fenêtres) 11 Windows Octobre 2024 Acheter un abonnement GPLv2 with CPE
AdoptOpenJDK 8 Windows,Linux,macOS,AIX,Solaris Septembre2023 (Aucun) GPLv2 with CPE
AdoptOpenJDK 11 Windows,Linux,macOS,AIX Septembre2022 (Aucun) GPLv2 with CPE
Amazon Corretto 8 Windows,Linux,macOS Juin2023 (Aucun) GPLv2 with CPE
Amazon Corretto 11 Windows,Linux,macOS Août2024 (Aucun) GPLv2 with CPE
Azul Zulu Enterprise 8 Windows, Linux, macOS Mars 2026 Acheter un abonnement GPLv2 with CPE
Azul Zulu Enterprise 11 Windows, Linux, macOS Septembre 2027 Acheter un abonnement GPLv2 with CPE
Azul Zulu Community 11 Windows,Linux,macOS,Solaris Septembre2027 (Aucun) GPLv2 with CPE
SapMachine 11 Windows,Linux,macOS Septembre2022 (Aucun) GPLv2 with CPE

Oracle OpenJDK 13 (date limite de support mars 2020) et Oracle OpenJDK 14 (date limite de support septembre 2020) ont été omis.

Package inclus avec la distribution Linux

Un package Open JDK inclus avec la distribution Linux. La plupart du temps, vous l'utiliserez.

Distribution et version Version Java Date limite de support
RHEL 6, 7, 8 8 Juin 2023
RHEL 7, 8 11 Octobre 2024
CentOS 6, 7, 8 8 Est-ce similaire à RHEL?
CentOS 7, 8 11 Est-ce similaire à RHEL?

JDK pouvant être utilisé dans l'environnement cloud

Fournisseur cloud un service OS Version Java Date limite de support
Amazon Web Services EC2 Amazon Linux 1 8 Juin 2020(?)
Amazon Web Services EC2 Amazon Linux 2 8 Avril 2023(?)
Amazon Web Services EC2 Amazon Linux 2 11 Avril 2023(?)
Microsoft Azure VM Windows, Linux 7 Juillet 2023
Microsoft Azure VM Windows, Linux 8 Mars 2025
Microsoft Azure VM Windows, Linux 11 Septembre 2026

Lequel devrais-je utiliser après tout?

Quelle est la version?

Si vous souhaitez le déplacer maintenant, vous avez 11 choix.

Si vous souhaitez le déplacer après septembre 2021, vous devez vous préparer pour la prochaine LTS, 17.

Et le JDK?

Il semble que ce sera un choix selon les conditions.

Sera-ce Oracle? Est-ce autre chose qu'Oracle?

Tout d'abord, choisissez d'utiliser Oracle ou non. Les gens riches qui peuvent acheter Ferrari choisiront Oracle (Higami).

Pour les non-Oracle

Pour le cloud, il est probablement préférable d'utiliser le Java fourni avec votre environnement.

Pour Linux sur site, vous pouvez faire correspondre le système d'exploitation et le support, et il semble facile d'utiliser le package inclus.

Si vous voulez une assistance payante pour Windows sur site, Red Hat ou Zulu peut être un bon choix.

Lien Collection

au fait

Quelle est la bonne réponse pour déployer des applications Java modernes?

  1. Distribuez des pots à l'ancienne
  2. Créez et distribuez une image de menu fixe
  3. Distribué nativement avec GraalVM

Du point de vue de l'utilisateur, 3. semble être le moins gênant, mais je me demande si quelqu'un le fait réellement.

Recommended Posts

[Java] Plates-formes parmi lesquelles choisir pour le développement Java à partir de maintenant (2020)
Pour les ingénieurs Java qui démarrent Kotlin à partir de maintenant
Java, pour instruction / while à partir du débutant
Mémo pour la migration de Java vers Kotlin
Développement de serveur Minecraft BE de PHP à Java
Changements de Java 8 à Java 11
Somme de Java_1 à 100
De Java à Ruby !!
Fonctionnalités susceptibles d'entrer dans Java 10 pour le moment
Points à surveiller dans le développement futur de Java
Migration de Cobol vers JAVA
Java à partir du débutant, remplacer
Nouvelles fonctionnalités de Java7 à Java8
Connectez-vous de Java à PostgreSQL
Java, instance à partir du débutant
Java à partir de débutant, héritage
La vie Java à partir de zéro
Java8 pour démarrer maintenant ~ Facultatif ~
De Java inefficace à Java efficace
À partir de l'extension Remote-Containers v0.131.0 de VSCode, il n'y a qu'une seule configuration Java à choisir.
Java, classe abstraite pour commencer par débutant
Si vous souhaitez modifier l'environnement de développement Java d'Eclipse
Remarques sur la création de l'environnement de développement de Kotlin et la migration de Java vers Kotlin
Création d'un environnement de développement Java (pour Mac)
Java sera impliqué dès aujourd'hui
De Java à VB.NET - Écriture de notes de contraste
Java, constructeur de surcharge à partir du débutant
Java, interface pour partir du débutant
La route de JavaScript à Java
Java 8 ~ Stream API ~ pour commencer maintenant
J'ai essayé de résumer Java 8 maintenant
[Java] Conversion d'un tableau à une liste
Choses à noter pour les nouveaux arrivants d'écrire du code lisible pendant le développement Java
Kotlin vs Java: quel langage de programmation choisir pour votre application Android
Java pour les débutants, les variables et les types
[Java Spring MVC] Contrôleur de confirmation de développement
Résumé des langues à apprendre à partir de maintenant
À propos de la procédure pour que Java fonctionne
Java à partir du débutant, imbriqué / break / continue
Java, instruction if / instruction switch à partir du débutant
Java à partir du débutant, opérateur logique / opérateur conditionnel
Introduction à Java à partir de 0 Partie 1
AWS Lambda (Lambda) Partie 1 avec Java pour démarrer maintenant
Connectez-vous de Java à MySQL à l'aide d'Eclipse
Java 8 pour démarrer maintenant ~ API de date et d'heure ~
De l'installation d'Eclipse à l'exécution de Java (PHP)
Publier sur Slack à partir de Play Framework 2.8 (Java)
Java: Comment envoyer des valeurs du servlet au servlet
Introduction à la surveillance à partir de Java Touching Prometheus
Précautions lors de la migration de VB6.0 vers JAVA
Conversion de type du type java Big Decimal au type String
[Java] Comment tester s'il est nul dans JUnit
[Java] De deux listes à une liste de tableaux
Upsert du SDK Java vers Azure Cosmos DB
Comment découvrir les tendances de l'OSS pour le développement Web
Bases du développement Java ~ Comment écrire des programmes * Exercice 1 ~
Connectez-vous à Aurora (MySQL) depuis une application Java
Pour devenir programmeur VB.net depuis une boutique Java
Migrer de Java vers Kotlin côté serveur + Spring-boot