社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
看同事使用java9的jshell
功能,很眼馋,遂自己体验一番。
首先下载jdk9,到oracle官网,发现java9已经不再使用了(黑人问号???),推荐你使用java10,页面几秒后会跳到java10的下载页面。
遂下载java10。
安装,mac之前本来就装有jdk8,安装之后查看当前电脑安装的所有jdk:
/usr/libexec/java_home -V
说明安装成功了。
为了方便使用,修改~/.bash_profile
,在原先的基础上将其改为:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
JAVA_10_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
export JAVA_HOME
export PATH
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
export PATH=/usr/local/bin:$PATH
export PATH="/usr/local/bin:$PATH"
alias jdk8="export JAVA_HOME=$JAVA_HOME"
alias jdk10="export JAVA_HOME=$JAVA_10_HOME"
然后保存,source ~/.bash_profile
使其生效。
首先查看当前的系统环境变量的jdk是什么版本:java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
现在是jdk8,现在将其切为jdk10,运行命令(上面定义的别名)jdk10
,
再查看版本:
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
切换为jdk10了,然后就可以使用jshell
了。
键入命令jshell
,屏幕如下:
按照提示输入/help intro
:
|
| intro
| =====
|
| 使用 jshell 工具可以执行 Java 代码,从而立即获取结果。
| 您可以输入 Java 定义(变量、方法、类等等),例如:int x = 8
| 或 Java 表达式,例如:x + x
| 或 Java 语句或导入。
| 这些小块的 Java 代码称为“片段”。
|
| 这些 jshell 工具命令还可以让您了解和
| 控制您正在执行的操作,例如:/list
|
| 有关命令的列表,请执行:/help
jshell可以直接执行java代码,这个和python的交互模式很像,比如:
像循环什么的也都可以执行,就是执行一个代码片段:
jshell> for(int i = 0; i < 10; i++){System.out.println(i);}
0
1
2
3
4
5
6
7
8
9
java10还引入了更彻底的变量类型推断,可以使用类似js的var来声明变量。
jshell> var i = new Integer(10);System.out.println(i.getClass());
i ==> 10
class java.lang.Integer
试了几个lambda表达式和线程,发现都可以正确执行:
jshell> Arrays.asList(new String[]{"java","jdk10","jshell"}).stream().forEach(s -> System.out.println(s))
java
jdk10
jshell
jshell> new Thread(() -> {for(var i = 0; i < 10; i++){System.out.println(i);}} ).start()
0
1
2
3
4
5
6
7
8
9
退出:
jshell> /exit
| 再见
以后可以当一个测试工具使用。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!