Java8 和 Java9 的主要新特性

Java 8 的主要新特性

1. Lambda 表达式

Lambda 容许把函数做为一个方法的参数传递进方法中。java

做用:解决 Java 被诟病的匿名内部类的问题。编程

2. 接口中可增长了默认方法

做用:在接口中也能够有实现方法了。数组

3. HashMap 底层数据结构的变化

java 8 以前,HashMap 底层的数据结构是数组+链表实现的, Java 8 以后是数组+链表+红黑树实现的,当链表的长度超过 8 以后,会转换成红黑树。服务器

做用:解决因哈希冲突致使的链表过长,查询效率低的问题。数据结构

4. Stream API

新添加 Stream API (java.util.stream),把真正函数式编程的风格引入 Java。socket

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。

做用:支持响应式编程的需求。

相关文章
相关标签/搜索