1. 什么是JShell?
JShell是Java 9中全新的交互式工具,它使得开发人员可以快速验证和测试小段Java代码而无需将其编写为完整程序。
使用JShell,您可以即时查看代码输出,探究新API以及快速验证和调试代码。
JShell会话存在于一个进程中,因此当我们打开一个JShell会话时,会话将持续存在直到我们关闭它为止。
2. JShell会话
在JShell中,您的代码将被默认存储在一个称为“JShell会话”的命名空间中。
通过这个命名空间,JShell会话可以管理代码,比如添加、删除和更新,同时还能够查看变量、对象、方法、类等等。
当我们启动JShell时,JShell会话默认会运行在一个没有任何配置和设置的干净的环境中。
3. 如何使用JShell?
3.1 运行JShell
为了启动您的第一个JShell会话,请打开命令提示符窗口或终端,并键入以下命令:
jshell
您应该会看到如下内容的输出:
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell>
现在您已经可以在JShell会话中输入和执行Java代码了。
3.2 编写代码
让我们来编写我们的第一个JShell代码:
int a = 5;
int b = 10;
int c = a + b;
System.out.println(c);
您应该可以看到如下输出:
15
正如您所看到的,当您输入代码时,JShell会即时编译并运行它,然后立即返回代码的输出。
3.3 记录代码
对于长时间运行的或复杂的代码,您可能希望将它们保存在文件中,以便以后使用。
JShell使得记录代码变得更加容易。要存储代码段并将其添加到JShell会话中,请使用下面的语法:
/open [filename]
这将打开指定的文件,其中您可以编写您的Java代码。保存并关闭文件后,JShell会自动将文件中的Java代码添加到JShell会话中。
3.4 退出JShell
当您完成JShell任务时,您可以使用以下命令退出:
/exit
这将结束JShell会话并退出。
4. 重置JShell会话
有时,您可能希望在JShell会话中重新开始。在这种情况下,您可以使用'/'命令选项之一,这将清除您的JShell会话并从干净环境开始:
4.1 /reset
/reset命令将清除JShell会话中的所有定义、导入和代码输入,并返回到初始干净的环境中。
让我们来尝试一下:
int a = 5;
int b = 10;
int c = a + b;
System.out.println(c);
/reset
System.out.println(c);
输出:
15
| Resetting state.
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
15
如您所见,当您输入'/reset'命令时,JShell会话被重置为初始状态。然后,当您尝试输出'c'变量时,JShell会话会报错,因为该变量已被清除。
4.2 /reload
/reload命令将重新加载当前环境并重置JShell会话,包括代码输入、导入和定义。
顾名思义,它会重新加载我们之前输入的所有代码,同时还更新任何本地文件更改。
4.3 /shutdown
/shutdown命令将关闭当前JShell进程,同时将存储在JShell会话中的所有定义和导入保存到本地文件中,以便下次启动时可以恢复它们。
5. 总结
在本文中,我们了解了什么是JShell,如何与其交互,以及如何重置JShell会话。
JShell是一个非常有用的工具,可以帮助您快速验证和测试Java代码,同时JShell会话的管理也十分简单。
无论您是新手还是专家,JShell都是提高Java开发效率的增强工具之一。