如何在Java 9中重置JShell会话?

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开发效率的增强工具之一。

后端开发标签