Maison  >  Article  >  Java  >  Comment les outils JShell fonctionnent-ils en interne dans Java 9 ?

Comment les outils JShell fonctionnent-ils en interne dans Java 9 ?

WBOY
WBOYavant
2023-08-26 23:05:02695parcourir

JShell工具在Java 9中的内部工作原理如何?

JShell ToolsIntroduit dans Java 9, il fournit un environnement rapide et convivial qui nous permet d'explorer, de découvrir et d'expérimenter rapidement les fonctionnalités du langage Java et les bibliothèques étendues.

Lorsque le code est saisi dans la console JShell, il est traité par JLine. C'est une bibliothèque Java qui nous permet de capturer sur la console. Une fois le code saisi, il est analysé par le JShell parser pour déterminer son type (méthodes, variables, etc.).

L'analyseur JShell est enveloppé dans une classe avec les règles suivantes :

  • Toutes les instructions d'importation sont placées en haut de cette classe.
  • Les variables, méthodes et déclarations de classe deviennent static membres de cette classe.
  • Les expressions et déclarations sont enveloppées dans une méthode de cette classe.

Après cette étape, le code source généré est analysé et compilé par le compilateur Java en bytecode puis envoyé au processus JVM en cours d'exécution pour charger et exécuter le code.

Dans l'extrait de code ci-dessous, nous pouvons lancer l'outil JShell en tapant simplement "jshell" dans l'invite de ligne de commande.

<strong>C:\Users\User>jshell
|   Welcome to JShell -- Version 9.0.4
|   For an introduction type: /help intro
jshell> </strong>

Lorsque JShell démarre, nous avons une invite de commande en attente d'une entrée. Il existe deux types de commandes pouvant être saisies : Commandes internes JShell commençant par "/", et Code Java.

Dans l'extrait de code ci-dessous, nous pouvons imprimer des commandes internes telles que "/list" et du code Java comme System.out.println().

<strong>jshell> System.out.println("Tutorialspoint")
Tutorialspoint

jshell> /list
   1 : System.out.println("Tutorialspoint")</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer