JDK8~JDK11的新特性


#JDK 1.8 新特性
接口中的静态方法 只能由接口自己调用

接口中的默认方法 可以不被覆盖

 


#JDK 1.9 新特性(可能在JDK8中被忽略了,没来得及加)
接口可以定义私有方法,但是只能让自己调用,实现类不能调用

<>学名 钻石操作符
在定义匿名内部类时,这个钻石操作符可以使用类型推断
Comparator<Object> com = new Comparator<>(){...};

JDK 1.7中加了一个类型推断,所以有如下写法
ArrayList<String> list = new ArrayList<>;


java8中,可以实现资源的自动关闭,但是要求执行后必须关闭的所有资源必须在try子句中初始化,否则编译不通过。

java9的话,只要把要关闭的资源变量放在try的小括号中即可,但是在不能更改这个资源变量的值;


motivation 动机

String 不用 char[] 来存储,改成了byte[] 加上 编码标记,节约了一些空间


java9新特性 用集合工厂方法去创建只读集合
Collections.unmodifiableList(list);


标识接口,这种接口里面啥代码也没有,只起一个标识的作用


可以用of方法来创建只读集合
List.of(1,2,3,4,5);


Inputstream 可以使用 transferTo 直接将数据传输到OutputStream


在使用nosql时 stream api就非常实用了


Stream.of();
of参数不能存储单个null,否则会报错

于是jdk9中加了一个ofNullable(),只能放一个值


... 学名 可变形参


alt + / 快捷键自动补全

Nashorn 是一个Javascript引擎

 

2014 java8
2017.9 java9
2018.3 java10
2018.9 java11 LTS版
2019.3 java12


idea 18年的第三个版本

LTS是长期支持(Long Term Support)的缩写
长期支持稳定版

太多的类型声明只会分散注意力,不会带来额外的好处


# Java 10 的新特性

局部变量的类型推断
用var代替了,声明变量时,根据所附的值,推断变量的类型


copyOf()创建一个只读的集合


java11 提供了 两种新的GC Epsilon 和 ZGC(这一个GC是具有划时代意义的)

# java11
String 的.isBlank()、strip()方法

java11中废弃掉Nashorn引擎

experimental 实验的

stw(stop the world)

java flight recorder java飞行器


新的货币API
currency

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM