[JAVA] Organisé comment interagir avec le JDK par étapes

JDK est déjà passé à 11

JDK 11 est sorti en septembre 2018. L'avez-vous déjà installé? N'est-ce pas la personne qui a choisi la version d'Oracle à laquelle elle est habituée, ou la personne qui a installé OpenJDK pour la première fois? Tous les évangélistes de Java dans le monde nous donnent les JDK parmi lesquels choisir selon différentes perspectives. C'est une information très utile. Alors, que devons-nous faire si nous utilisons maintenant JDK 5 ou 6 dans cet article? Je voudrais répondre à la voix sans voix.

Période de support générationnelle pour Oracle JDK

Tout d'abord, comment était la période de support d'Oracle JDK dans le passé? Comme vous pouvez le voir, ** longs intervalles de publication et longues périodes de maintenance **

--JJ1.4 2000 version --JDK5 2004 release Mise à jour officielle terminée en octobre 2009 --JDK6 2006, mise à jour officielle terminée, février 2013 --JDK7 2011 release Mise à jour officielle terminée en avril 2015 --JDK8 2014 release Mise à jour officielle terminée en janvier 2019 --JDK9 2017 release Mise à jour officielle terminée en mars 2018 --JDK10 2018 release Mise à jour officielle terminée en septembre 2018 --JDK11 version 2018

Cependant, l'ère de la lenteur du temps est révolue. Cependant, veuillez lire les projets et les équipes qui ont passé du temps dans la lenteur du passé.

Java revient sur la déclaration for

JDK1.4


int[] array = new int[10];
for(int i = 0; i < 10; i++) {
    System.out.println(array[i]);
}

En 2002, Java était à la pointe. Si vous avez un système qui fonctionne toujours à 1.4, pourquoi ne pas vous soucier du JDK 11 maintenant? Continuons à écrire Java avec Hidemaru pour toujours.

JDK5/6/7


int[] array = new int[10];
for(int i: array) {
    System.out.println(i);
}

Une époque où l'écriture étendue pour les déclarations était un statut. Je rate le moment où l'instruction for existante a été réécrite comme refactoring sans aucune signification. Je pense que les personnes utilisant JDK5 / 6/7 peuvent en fait être divisées en deux types. Certaines personnes paient pour Oracle et d'autres non.

Ceux qui paient pour Oracle

** Si vous utilisez le support de support d'Oracle, vous pouvez oublier JDK11. ** Le système ira jusqu'à EOS avec ce JDK.

Ceux qui ne paient pas pour Oracle

Si vous utilisez un JDK qui n'était plus pris en charge en avril 2015, vous n'avez probablement pas l'intention de le mettre à jour. Passons à EOS tel quel. ** Cependant, je pense que le système sera utilisé pendant encore 10 ans, alors faites attention aux incidents de sécurité. ** **

JDK8

int[] array = new int[10];
Arrays.stream(array).forEach(arr -> System.out.println(arr));

Les personnes qui n'utilisent pas Stream

Courant. Le traitement peut être exécuté sans avoir déjà écrit d'instruction for. Ceux qui voient cela et se demandent: "Est-ce Java?" Faisons de notre mieux avec JDK8 pendant encore 10 ans jusqu'à ce que le système atteigne EOS.

Les personnes qui utilisent Stream et ne paient pas Oracle

C'est le plus difficile. Probablement, ce doit être un système crunchy actif créé avec JDK8 depuis le début. Et je voudrais recommander à ces personnes ** Ne soyez plus lié à la version Java **. Faites le grand saut et envisagez de migrer vers Open JDK 11. Le support expirera début 2019. Et dans la situation actuelle sans LTS, il en va de même pour tous les JDK. ** Je comprends que j'ai peur que "la construction avec un JDK différent exigera tous les tests". ** Mais savez-vous quand le JDK a été construit pour Apache commons, etc. que vous utilisez déjà dans votre application? C'est peut-être horriblement vieux. Pour le moment, construisons-le avec JDK11 et exécutons-le. ** Une chose à noter est que JDK11 a une bibliothèque JAVAEE qui a été complètement supprimée **, vous devez donc ajouter cette partie avec maven ou gradle. Comme prévu, Java 8 utiliserait un outil de construction, ce serait donc facile à gérer.

JDK9/10/11

int[] array = new int[10];
Arrays.stream(array).dropWhile(arr -> array <= 1).forEach(System.out::println);

Depuis que j'écris dropWhile, j'ai changé les spécifications, mais à part cela, une nouvelle méthode a été ajoutée à Stream. Java va de mieux en mieux. Beaucoup de gens seront déjà impossibles à distinguer de JavaScript en regardant ce style d'écriture. Ceux à ce stade auront déjà essayé JDK 11. C'est très bien. Cependant, ici aussi, il sera grossièrement divisé en deux modèles.

Le système de développement peut suivre la sortie de JDK

Si vous êtes une équipe agile dont la publication de l'application est alignée sur le calendrier de publication de JDK semestriel, veuillez suivre la version JDK. Même s'il est attaché, ** je ne pense pas qu'il y ait d'avantage pour le client, mais ce n'est peut-être bon qu'en termes de sécurité **.

Une équipe qui semble avoir deux JDK en cours de développement

Précisons-le dans la proposition. ** "Ce développement sera construit avec JDK11 et publié. Nous ne vérifierons pas le fonctionnement avec d'autres JDK" **

Résumé ou préparation

J'écris aussi des histoires d'horreur, mais dans tous les cas, ceux qui continueront à faire de Java doivent apprendre à écrire à l'ère de Java 8. Pour toujours, la personne qui rédige l'instruction for n'a d'autre choix que de partir. Je recommande vivement ce qui suit: Je lis beaucoup moi-même Lisez d'abord pour comprendre le style Java 8

Programmation pratique Java SE 8 que les programmeurs Java devraient apprendre Introduction à Java - Des bases du style moderne aux bibliothèques orientées objet et pratiques

Et nous vous recommandons d'essayer de créer une application avec Spring Boot, qui a changé la façon dont vous créez des applications Web Java. Ce qui est étonnant, c'est celui de la configuration automatique. Cela me fait penser que j'écris ASP.NET en C #, ou je pense que j'écris Angular.

Je recommande Spring Boot pour la première fois, mais il est un peu plus ancien que Ver1. Il existe un livre pour Ver2, et je l'ai lu, mais ce n'est pas une recommandation transcendantale. Mais il vaut mieux le lire que de ne pas le lire, alors je vais le lister. ** La raison en est que la création d'une application avec Spring Boot est aussi proche que possible de la limite **. Il est à noter qu'il est important de bien comprendre les spécifications du framework afin de ne pas écrire trop de code. Premier démarrage du printemps Introduction à Spring Boot 2

Recommended Posts

Organisé comment interagir avec le JDK par étapes
Comment obtenir la date avec Java
Comment interagir avec un serveur qui ne plante pas l'application
Comment créer un retrait de deux espaces d'un octet dans l'implémentation JAXB du JDK
[Mémo personnel] Comment interagir avec le générateur de nombres aléatoires en Java
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
[Rails] Comment appliquer le CSS utilisé dans l'application principale avec Administrer
Comment vérifier le journal dans le conteneur Docker
Comment installer Oracle JDK 1.8 dans Ubuntu 18.04 LTS?
Comment créer la blockchain la plus simple de Ruby
Comment vérifier les commandes Rails dans le terminal
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
[Rails] Comment enregistrer plusieurs enregistrements dans la table intermédiaire avec une association plusieurs-à-plusieurs
[Rails] Comment utiliser la méthode d'assistance utilisée dans l'application principale avec Administrer
Comment intégrer des variables JavaScript dans HTML avec Thymeleaf
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment changer l'action avec plusieurs boutons d'envoi
Comment appeler des fonctions en bloc avec la réflexion Java
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
[Java] Comment omettre le constructeur privé dans Lombok
Comment basculer Tomcat context.xml avec Eclipse WTP
Comment utiliser Oracle JDK 9 EA avec Travis CI
Comment utiliser la bibliothèque Z3 dans Scala avec Eclipse
[Comment insérer une vidéo dans un hameau avec Rails]
Comment supprimer des images non balisées en masse avec Docker
Comment utiliser la bibliothèque JDD dans Scala avec Eclipse
Comment spécifier le chemin de la ressource dans l'importation HTML
Comment interroger Array dans jsonb avec Rails + postgres
Comment déboguer le fichier jar généré avec Eclipse
[Rails] Comment afficher les images dans la vue
Comment obtenir JDK etc. depuis Oracle avec CLI
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment écrire Junit 5 organisé
Comment installer JDK8-10 (Mac)
Comment obtenir le nom d'une classe / méthode exécutée en Java
Comment utiliser la méthode getter / setter (en orientation objet)
Comment faire une capture d'écran avec l'émulateur Android Studio
Comment régler chrony lorsque le temps change dans CentOS7
Comment connecter les chaînes de la liste séparées par des virgules
Comment créer une partie d'espace réservé à utiliser dans la clause IN
Comment obtenir des valeurs en temps réel avec TextWatcher (Android)
Comment récupérer la valeur de hachage dans un tableau dans Ruby
Mettez en majuscule uniquement la plage spécifiée avec la sous-chaîne. (Comment utiliser la sous-chaîne)
[Avec des astuces de retour] Comment présenter React aux rails les plus simples
Comment ajouter les mêmes index dans un tableau imbriqué
Comment installer JDK 8 sur Windows sans utiliser le programme d'installation
Comment changer dynamiquement les JDK lors de la construction de Java avec Gradle
Comment gérer l'erreur ERREUR: lors de l'exécution de gem ... (Gem :: FilePermissionError)
Mappage à une classe avec un objet de valeur dans How to My Batis
Comment dériver le dernier jour du mois en Java
Comment changer Java à l'ère d'OpenJDK sur Mac
Comment configurer un proxy avec authentification dans Feign
[Rails] Comment afficher les informations stockées dans la base de données dans la vue