Java 语言特性【三】——Java 版本差异新特性

引言

Java 近些年一改以往的版本发布风格,发布频率提高了很多。目前大部分公司的生产环境使用的还是 1.8 版本,一少部分升级到 1.9 或 1.10 版本,Java 的 1.8 版本是一个长期支持的版本,最新发布的 1.11 版本也是一个长期支持的版本,1.11 版本中已经包含了 1.9、1.10 版本的功能,所以 1.8 和 1.11 版本是我们要重点关注的版本。

 

 

 

 

 

特性

1.8

在 1.8 版本中 Java 增加了对 lambda 表达式的支持,使 Java 代码的编写可以更简洁,也更方便支持并行计算。并且提供了很多 Stream 流式处理的 API。1.8 版本还支持了方法引用的能力,可以进一步简化 lambda 表达式的写法。

在 1.8 版本中,接口可以提供默认方法了,这样可以简化一些简单的抽象类。最后在 1.8 版本中对方法区进行调整,使用 Metaspace 替换掉了 PermGen 的永久代。

Metaspace 与 PermGen 之间最大的区别在于:Metaspace 并不在虚拟机中,而是使用本地内存。

替换的目的一方面是可以提升对元数据的管理同时提升 GC 效率,另一方面是方便后续 HotSpot 与 JRockit 合并。

 

1.9、1.10

在 1.9、1.10 版本中的主要特性是增加了模块系统,将 G1 设为默认垃圾回收器、支持局部变量推断等功能。这些功能都已经包含在 1.11 版本中。

 

1.11

1.11 版本是 Java 最新的长期支持版本,也将会是未来一段时间的主要版本。

1.11 版本中提供的最激动人心的功能是 ZGC 这个新的垃圾回收器,ZGC 为大内存堆设计,有着非常强悍的性能,能够实现 10ms 以下的 GC 暂停时间。

1.11 版本对字符串处理 API 进行了增强,提供了字符复制等功能。

1.11 版本还内置了 HttpClient。

 

posted @ 2020-02-19 23:55  习惯沉淀  阅读(527)  评论(0编辑  收藏  举报