期待已久的Java9终于发布了,可以体验一把jshell。关于jdk9的新特性,上午一搜一大堆,我也不必再重复。废话不多少,开始体验。
jdk9.jpg
下载JDK
细心的小伙伴会发现没有32位的,什么鬼?难道Oracle放弃32位了?其实32位的已经有了只是还没开放下载而已,下面是下载方法:
在Linux中通过wget命令下载
jdk-9_windows-x86_bin.exe
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_windows-x86_bin.exe
jdk-9_linux-x86_bin.rpm
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x86_bin.rpm
如果懒得去官网下,关注我公众号,回复jdk9,即可获取百度云下载链接
安装配置
安装不想多说,有兴趣的可以参考官方安装教程:Overview of JDK 9 and JRE 9 Installation
重点是环境变量配置
Windows环境变量配置
DOS中的写法
JAVA_HOME=D:\Java\JDK\jdk-9
CLASSPATH=.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
PATH=.;%JAVA_HOME%/bin;%PATH%
至于怎么打开环境变量设置,请自行百度
Linux环境变量配置
用户环境变量修改文件:
redhat系列 ~/.bash_profile
debian系列 ~/.profile
全局环境变量配置修改文件/etc/profile
选哪一种根据自己情况选择,这里已全局配置为例,参考如下:
# 1. 修改环境变量配置文件
vim /etc/profile
# 2. 文件结尾增加两个设置
export JAVA_HOME=/usr/java/jdk-9
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=${JAVA_HOME}/bin:$PATH
# 变量用$变量名表示
# 分隔符是冒号:
# :wq保存并退出
# 3. 使配置文件生效
source /etc/profile
Mac环境变量配置
与Linux很像,在用户目录新增文件.bash_profile(如果有就直接编辑),配置过程参考:
## 1. 新增
touch ~/.bash_profile
## 2. 编辑,也可以使用vim
open -e ~/.bash_profile
## 输入如下配置
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk9.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
# 变量用$变量名表示
# 分隔符是冒号:
# :wq保存并退出
# 3. 使配置文件生效
source ~/.bash/profile
开始体验jshell
官网有详细教程:Java Platform, Standard Edition Java Shell User’s Guide - Contents
https://docs.oracle.com/javase/9/jshell/toc.htm
打开命令行工具,输入jshell,进入jshell工具,开始敲java代码
jshell> System.out.println(123)
123
jshell> 1+1
$2 ==> 2
jshell> ",,,,".split(",")
$3 ==> String[0] { }
jshell> ",,a,,".split(",")
$4 ==> String[3] { "", "", "a" }
jshell> String s = ",,a,b,,,";
s ==> ",,a,b,,,"
jshell> s.split(",")
$6 ==> String[4] { "", "", "a", "b" }
jshell>
用来测试一段Java代码非常方便,不用非要写个类然后再编译了。以后java也可以像写shell命令一样玩耍了。
jshell虽然很方便但其实IntelliJ IDEA早就实现了类似的功能,debug的时候打开Evaluate Expression就可以在程序运行到断点出运行任何Java语句或代码片段非常强大,感兴趣的可以去试试。
evaluateExpression.png