Cet article est l'article du premier jour du Calendrier de l'Avent SRA 2017.
salut! Voici Sasaki de la division du Kansai. En septembre 2017, Java 9 est sorti. Java 8 a attiré beaucoup d'attention en raison du contenu qui a un impact important sur le codage, comme les expressions Lambda, les méthodes d'interface par défaut, les références de méthode et l'ajout d'Optionnel. Grâce à cela, même si vous ne regardez pas les dernières informations sur Java, il semble que beaucoup de gens connaissent certaines nouvelles fonctionnalités de Java 8. Cependant, en ce qui concerne Java 9, les personnes qui ne collectent pas activement d'informations ne semblent pas savoir quel type de version a été faite, et pour ceux qui n'ont pas le temps pour le moment, l'un des contenus de la version Java 9 qui "Keep this alone" Je voudrais vous présenter le département. «C'est tout», voici mon jugement personnel, il peut donc y avoir des désaccords, mais dans ce cas, je vous serais reconnaissant de bien vouloir le compléter par des commentaires. (Autre application d'alimentation)
jshell
Vous pouvez maintenant utiliser l'outil REPL jshell.
Vous pouvez omettre le point-virgule à la fin de la phrase et vous n'avez pas besoin de créer une classe ou une méthode pour exécuter du code Java. (Bien sûr, vous pouvez créer des classes et des méthodes)
De plus, dans l'exemple ci-dessus, après avoir créé un objet Random, saisissez "
r.`` `" et appuyez sur la touche TAB pour terminer la méthode.
De plus, il existe de nombreuses commandes dans jshell qui commencent par "/ (slash)".
Voici quelques-uns
Vous pouvez maintenant utiliser la fonction de recherche dans Javadoc. Vous pouvez effectuer une recherche incrémentielle telle que le nom du package et le nom de la classe en entrant un mot-clé dans la fenêtre de recherche en haut à droite. Pour les noms de packages et les noms de classes, je pense que la fonction de recherche du navigateur a été capable de le faire dans une certaine mesure, mais vous pouvez également rechercher des noms de méthodes soudainement.
En fait, la caractéristique principale de Java 9 est le "système de modules". Le système de modules est assez ésotérique lorsqu'on essaie de le comprendre en profondeur, mais je vais le garder au minimum ici. Tout d'abord, avant le système de modules, je vais expliquer brièvement les deux problèmes suivants.
JAR hell L'enfer JAR est un problème causé par les applications Java reposant sur de nombreux JAR. Cela dépend de trop de JAR à gérer et vous obtenez une exception ClassNotFoundException au moment de l'exécution, ou vous obtenez une erreur car vous avez le même fichier JAR pour différentes versions.
Ce "problème d'avoir du mal à voir trop" a été arbitrairement nommé par moi, mais en Java, les classes incluses dans JAR peuvent être "vues". Vous pouvez contrôler l'accès à des classes telles que privées et publiques, mais vous devez les rendre publiques afin de pouvoir y accéder à partir d'autres packages, et par conséquent, vous pourrez également y accéder à partir d'autres JAR. De plus, le package n'avait pas de contrôle d'accès comme une classe.
module-info.java Le système de modules résout les problèmes ci-dessus. Pour utiliser le système de modules, placez un fichier appelé "module-info.java" dans le répertoire supérieur de src.
src -- kazsharp.lambda_logging.jcl
| |
| -- LambdaLog4jLog.java
|
-- module-info.java
Et dans module-info.java, décrivez les modules dépendants, les packages à publier, etc.
module-info.java
module <Nom du module> {
requires <Nom du module dépendant>;
exports <Nom du package à publier>;
}
Comme d'habitude, vous pouvez accéder aux packages qui ne sont pas exportés dans votre module, mais les autres modules ne peuvent accéder qu'aux packages exportés. De plus, si plusieurs modules ont le même package, une erreur se produit.
Je m'inquiète pour le système de modules lors de l'utilisation de Java 9
Cela étant dit, il existe une période appelée «mesures transitoires». Les mesures de transition incluent des "modules anonymes" et des "modules automatiques", même si module-info.java n'est pas placé.
Cependant, comme il s'agit d'une mesure transitoire, si vous utilisez Java 9, vous devez le définir de manière appropriée en utilisant module-info.java.
Jusqu'à présent, nous avons introduit le contenu que Java 9 devrait contenir au moins ce montant. Vous devez en savoir plus sur le système de modules et d'autres contenus avant de pouvoir le développer, mais j'espère que cet article vous donnera l'occasion d'en savoir plus sur Java 9.
Recommended Posts