1、JDK9新特性---jshell交互式工具
前提是已经配置好了Jdk的环境变量。

2、JDK9新特性---模块化开发
需求:
testA可以被模块A调用,testB可能是内部工具类,不想被模块A调用,又不能设置成private。

这时候我们就会用到模块化开发。
Java8应用程序将包作为顶级组件,Java9应用程序将模块作为顶级组件。
 使用module-info.java来声明一个模块,一个模块只能有一个文件,且在顶层包同目录下
 使用exports来声明可以被外部引用的包,可以有多个exports语句
 使用requires来声明依赖的外部的模块,可以有多个requires语句
1、 创建一个空项目jdkNews,和两个Java项目TestA和TestB。
2、在TestA和TestB中分别创建module-info.java文件。

3、在TestA模块的module-info.java文件中添加需要导入的模块。
module TestA {
    requires TestB;
}4、在TestB模块的module-info.java文件中添加可以访问的包名。
module TestB {
    exports com.wei.first;
}3、JDK10新特性---使用var来修饰局部变量
> 必须能推导出实际类型,包括基础数据类型。
 > 只能用于局部变量。
public class MyUse {
//    使用var报错 不能修饰全局变量
//    var testA1 = new TestA();
    
    public static void main(String[] args) {
//        都是可以使用var的
        var testA1 = new TestA();
        var i = 8;
        var list = new ArrayList<>();
//        使用var报错
//        var str;
//        var array = null;
    }
}4、JDK11新特性---单文件程序
直接命令运行:java xxx.java
 必须带.java
 方便初学者学习
1、编写文件
public class OneFileTest {
    public static void main(String[] args) {
        System.out.println("You Are Herro!!");
    }
}2、 在终端进入到文件的指定目录,直接命令运行:java OneFileTest.java

5、JDK11新特性---shebang脚本
1/什么是shebang?
#!符号可以叫做shebang,翻译成释伴,即"解释伴随行"的简称,同时又是shebang的音译。
2、将java文件改成sh后缀,OneFileTest.sh
第一行 为jdk中Java指令的路径 。
如果配置过环境变量,也可以直接写成 #!/bin/java
#!/Library/Java/JavaVirtualMachines/jdk-17.0.4.1.jdk/Contents/Home/bin/java
public class OneFileTest {
    public static void main(String[] args) {
        System.out.println("You Are Herro!!");
    }
}3、在终端中进入到文件的包路径,使用如下命令可运行 java --source 11 SheBangTest.sh



















