JShell工具在Java 9中的内部工作原理如何?
当代码输入到JShell控制台时,它会被JLine处理。它是一个允许我们在控制台上进行捕捉的Java库。一旦代码被输入,它会被JShell解析器解析,以确定其类型(方法、变量等)。
JShell解析器被包装在一个具有以下规则的类中:
- 所有导入语句都放在这个类的顶部。
- 变量、方法和类声明成为这个类的静态成员。
- 表达式和声明被包装在这个类的一个方法中。
在这一步之后,生成的源代码通过Java编译器进行分析和编译成字节码,然后发送给正在运行的JVM进程以加载和执行代码。
在下面的代码片段中,我们可以通过在命令行提示符中简单地输入"jshell"来启动JShell工具。
C:UsersUser>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> 登录后复制
在下面的代码片段中,我们可以打印出内部命令如“/list”和Java代码如System.out.println()。
jshell> System.out.println("Tutorialspoint") Tutorialspoint jshell> /list 1 : System.out.println("Tutorialspoint")登录后复制