J'ai essayé de découvrir ce qui avait changé dans Java 9

Sortie officielle de Java 9

Java 9 est sorti en septembre 2017. Depuis la sortie de Java 8 en mars 2014, il s'agit d'une mise à jour majeure depuis environ trois ans et demi. J'ai l'impression d'être en retard, mais j'ai décidé de résumer Java 9 comme un mémo d'étude. Je n'ai pas couvert tous les changements, donc je ne prends que les parties que je pense importantes.

Fin de la prise en charge des anciens systèmes d'exploitation

À partir de Java9, il n'est plus fourni pour les systèmes d'exploitation 32 bits. Soyez prudent avec les serveurs exécutant un système d'exploitation 32 bits sur Windows Server 2012 ou une version antérieure. Sur le site de développement (en particulier les applications métier à grande échelle), il existe de nombreux sites qui se développent avec 32 bits de Windows 7, mais en réalité, tout le monde migre vers 64 bits.

Outil REPF

C'est facile à comprendre pour ceux qui ont utilisé Python, mais il y a beaucoup de choses qui peuvent être faites à partir de la ligne de commande en Java. REPF est une abréviation de Read-eval-print-loop. Tapez jshell sur la ligne de commande et exécutez-le avec System.out.println ("Hello World"); pour voir les résultats. S'il s'agit d'un simple exemple de programme, vous pouvez éviter de créer une classe et de vérifier l'opération.

Prise en charge d'Unicode 8.0

Je ne pense pas qu'il existe de nombreuses possibilités d'utiliser des pictogrammes dans les applications professionnelles, mais avec le support d'Unicode-8.0 cette fois, il est devenu possible d'utiliser un large éventail de nouveaux caractères. La gamme de smartphones tels que les applications Android pourrait s'étendre!

Génération de nombres aléatoires améliorée (DRBG)

Jusqu'à présent, il y en avait deux types: la fonction aléatoire standard Java (java.util.Random) et la fonction SecureRandom (java.security.Random), qui fournit un générateur de nombres aléatoires amélioré par cryptographie (RNG). En plus de cela, le DRBG ajouté cette fois est un générateur de nombres aléatoires défini dans NIST-800-90Arl. Le NIST est également utilisé par les agences gouvernementales américaines dans ce qu'on appelle l'American National Standards Institute.

Compatible SHA-3

Ceci est compatible avec l'algorithme de hachage SHA-3 en tant qu'amélioration de la prise en charge de la sécurité. SHA-3 est également défini par le NIST comme DRBG ci-dessus.

Applet Java obsolète

C'est une applet Java que j'ai rarement vue ces jours-ci, mais elle est finalement officiellement obsolète dans Java 9.

Système modulaire "Project Jigsaw"

Je pense que l'on peut dire qu'il s'agit de Java 9. L'histoire de Jigsaw, un système modulaire, a commencé en 2009. Sur une longue période, des personnes formidables et géniales ont finalement été libérées sur Java 9 avec du sang, de la sueur et des larmes. (Je ne sais pas si j'ai versé du sang, de la sueur et des larmes.)

Qu'est-ce qu'un module en premier lieu? .. ..

Un module est un mot anglais qui désigne une unité fonctionnelle ou un composant échangeable. C'est un composant qui a un groupe de fonctions qui font partie du système, et les spécifications de l'articulation (interface) avec le système et les autres composants sont normalisées et standardisées afin qu'il puisse être facilement ajouté ou remplacé. Signifie que.

Référence: Glossaire informatique

Vous pouvez le considérer comme une unité qui résume le système en unités fonctionnelles. En Java, les fonctions sont regroupées en groupes appelés packages. Ensuite, un mécanisme est utilisé pour créer un fichier JAR en collectant des packages et en le fournissant en tant que bibliothèque.

Est-ce inutile jusqu'à présent? Quel est le problème?

  1. La visibilité ne peut pas être définie pour chaque fonction Puisque la visibilité ne peut pas être définie pour chaque fonction (unité Jar), il est possible que quelque chose qui ne devrait être utilisé que dans le système A soit utilisé de manière inattendue dans le système B et qu'une exception inattendue se produise.

  2. Les dépendances entre bibliothèques ne peuvent pas être définies Quand a.jar, a2.jar et plusieurs fichiers jar sont nécessaires pour utiliser un certain a.jar, le développeur doit rechercher et découvrir quel fichier jar est manquant à chaque fois. Il y a. Pour résoudre ce problème, jigsaw définit et définit maintenant les dépendances des modules, ce qui évite aux développeurs d'avoir à déterminer les bibliothèques dont ils ont besoin.

C'est pourquoi la gestion des paquets!

Jigsaw a été créé sur une longue période pour résoudre le problème décrit ci-dessus. En élargissant la gamme qui peut être cachée en privé, la gamme qui peut être publiée est élargie, et en résolvant le problème de dépendance de bibliothèque qui est troublé à chaque fois dans la construction d'environnement, le développement initial peut être accéléré, ce qui est pratique (devrait).

finalement

Depuis sa sortie, il y a peut-être peu d'endroits pour adopter Java 9 dans les affaires, mais je pense que c'est le bon moment pour développer de nouveaux produits et pour ceux qui étudient Java à partir de maintenant, alors veuillez utiliser Java 9 par tous les moyens. regarde s'il te plait! Et je serais heureux si vous pouviez me dire diverses choses m (_ _) m ← Autre application d'alimentation

Je n'ai pas encore assez étudié et le contenu est mince, mais merci d'avoir lu jusqu'au bout. Je pense qu'il y a des erreurs, alors j'apprécierais que vous les signaliez.

Recommended Posts

J'ai essayé de découvrir ce qui avait changé dans Java 9
J'ai essayé de sortir quatre-vingt-dix-neuf en Java
J'ai essayé de créer une compétence Alexa avec Java
J'ai essayé d'implémenter la notification push Firebase en Java
# 2 [Note] J'ai essayé de calculer quatre-vingt-dix-neuf avec Java.
J'ai essayé de créer une compétence Clova en Java
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
J'ai essayé d'interagir avec Java
J'ai essayé d'utiliser JWT en Java
J'ai essayé de résumer Java 8 maintenant
J'ai essayé d'utiliser Dapr en Java pour faciliter le développement de microservices
J'ai créé un client RESAS-API en Java
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé de résumer les expressions Java lambda
J'ai essayé le nouveau yuan à Java
J'ai essayé de configurer les débutants Java pour qu'ils utilisent des touches de raccourci dans eclipse
Qu'est-ce que Docker? J'ai essayé de résumer
Ce que les programmeurs Java trouvent utile avec Kotlin
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
J'ai essayé d'implémenter des relations polymorphes à Nogizaka.
Je souhaite envoyer un e-mail en Java.
J'ai essayé d'organiser la session en Rails
java j'ai essayé de casser un simple bloc
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
rsync4j --Je veux toucher rsync en Java.
Ce que j'ai appris en Java (partie 2) Que sont les variables?
J'ai essayé de développer une application en 2 langues
J'ai essayé de casser le bloc avec java (1)
Points à connaître avec Java Equals
Ruby: J'ai essayé de savoir où Nokogiri va voir l'encodage lui-même
J'ai essayé ce que je voulais essayer avec Stream doucement.
Essayé l'API Toot et Streaming de Mastodon en Java
Je veux faire quelque chose comme "cls" en Java
J'ai essayé d'implémenter TCP / IP + BIO avec JAVA
[Java 11] J'ai essayé d'exécuter Java sans compiler avec javac
[Java] J'ai essayé de résoudre le problème de rang B de Paiza
J'ai essayé de faire fonctionner SQS en utilisant AWS Java SDK
Je veux aussi utiliser ES2015 avec Java! → (´ ・ ω ・ `)
Points à surveiller dans le développement futur de Java
Ce que j'ai appris en Java (partie 3) Déclaration d'exécution des instructions
J'ai essayé d'implémenter Sterling Sort avec Java Collector
Ce que j'ai appris lors de la création d'un serveur en Java
[Java] J'ai essayé de mettre en œuvre la recherche de produits de l'API Yahoo
J'ai essayé d'utiliser l'instruction Extended for en Java
J'ai essayé de passer Java Silver en 2 semaines sans connaître Java
J'ai essayé d'expliquer Effective Java 3rd Edition "presque tous les chapitres" en "japonais facile à lire".
Premier AWS Lambda (j'ai essayé de voir dans quel type d'environnement il fonctionne)
Ce que j'ai recherché sur Java 8
Ce que j'ai recherché sur Java 6
J'ai fait une roulette à Java.
Ce que j'ai recherché sur Java 9
Problème de ne pas trouver javax.annotation.Généré en Java 11
J'ai essayé Drools (Java, InputStream)
Rechercher un sous-ensemble en Java
J'ai essayé d'utiliser Java REPL
J'ai essayé de vérifier yum-cron