令人期待的 java9 在今天迎来了发布。根据发布的内容,我总结了一下关于 java9 的新特性。
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
根据发布的介绍,java9 将会每 6 个月发布一次版本变更。因此本次整理的 java9 新特性可能还不全,大家见谅!

java9
第一个新特性是 java9 的模块。
JDK 9 的核心变化就是引入了一种新的 Java 编程组件,也就是模块,按照 Oracle 的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少 Java 应用和 Java 核心运行时环境的大小与复杂性。为此,JDK 本身进行了模块化,Oracle 希望通过这种方式提升性能、安全性和可维护性。
为了支持 Java 9 的模块,引入一种新的模块化 JAR 文件形式,按照这种形式会在其根目录中包含一个 module-info.class 文件。Oracle 同时提供了工具,允许我们组合和优化一组模块,形成自定义的运行时镜像(image),这样的镜像不必将整个 Java 运行时包含进来。模块化所带来的其他变化包括从 Java 运行时镜像中移除了 rt.jar 和 tools.jar。
第二个新特性是 java 9 的垃圾回收器改为了 G1,而不再是 Parallel GC。
Java 9 使用 G1 作为默认的垃圾收集器,替代了之前默认使用的 Parallel GC。
第三个新特性是 jshell 工具。
Java 9 引入了 jshell 工具。这个命令行环境为 Java 平台带来了读入-求值-打印-循环(Read-Eval-Print-Loop,REPL)功能。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项。
第四个是 HTTP/2。
不过 HTTP/2 只是作为 Java 9 的一个孵化模块(incubator module)提供的。鉴于社区对这项特性的兴趣和提供的帮助,Evans 认为 Oracle 应该投入足够的工程资源,将 HTTP/2 交付为 GA 版本。
【注:本文源自网络文章资源,由站长整理发布】