Java8 和 Java9 的主要新特性
Java 8 的主要新特性
1. Lambda 表达式
Lambda 允许把函数作为一个方法的参数传递进方法中。
作用:解决 Java 被诟病的匿名内部类的问题。
2. 接口中可增加了默认方法
作用:在接口中也可以有实现方法了。
3. HashMap 底层数据结构的变化
java 8 之前,HashMap 底层的数据结构是数组+链表实现的, Java 8 之后是数组+链表+红黑树实现的,当链表的长度超过 8 之后,会转换成红黑树。
作用:解决因哈希冲突导致的链表过长,查询效率低的问题。
4. Stream API
新添加 Stream API (java.util.stream),把真正函数式编程的风格引入 Java。
5. 提供一个新的 JavaScript 引擎
Java 8 提供了一个新的 Nashorn JavaScript 引擎,它允许在 JVM 上运行特定的 JavaScript 应用。
作用:解决日益增长的 Java 跟 JS 交互混合的需求。
Java 9 新特性
1. 模块系统
模块是一个包的容器,Java 9 最大的变化之一是引入模块系统。(Jigsaw 项目)
作用:解决大型项目模块化开发的需求。
2. 支持 HTTP/2 标准
HTTP/2 标准是 HTTP 协议的最新版本,新的 HTTPClient API 支持 Websocket 和 HTTP2 流以及服务器推送特性。
3. 提供创建不可变集合的静态工厂方法
List、Set、Map 接口中,提供新的静态工厂方法直接创建不可变的集合实例。
作用:创建不可变集合更方便,一行代码就搞定,节省了开销。
4. 私有接口方法
在接口中也允许编写 private 修饰的私有方法了。
作用:增强了接口的功能,提高了可扩展性。
5. 轻量级的 JSON API
内置了一个轻量级的 JSON API。
6. 引入响应式流 API
Java 9 引入了新的响应式流 API。
作用:支持响应式编程的需求。
相关推荐
似水流年梦 2020-08-09
JamesRayMurphy 2020-07-26
lizzysnow 2020-07-18
willowwgx 2020-07-18
xilove0 2020-07-09
云端漂移 2020-07-05
hnyzyty 2020-07-05
heavenautumn 2020-06-21
netuser 2020-06-14
淡风wisdon大大 2020-06-06
巴壁虎 2020-05-30
RocketJ 2020-05-28
tanrong 2020-05-20
heniancheng 2020-05-15