Java 9 的主要新特性

                                            Java 9 的主要新特性

Java 9 的新特性都列在官方页面当中,本文介绍值得你关注的其中几个点:

▶ 进程操作改进(JEP 102: Process API Updates)

新增的 java.lang.ProcessHandle 类丰富了对进程的操作,同时原有的 java.lang.Process 类的功能也被加强了。

▶ 竞争锁的性能优化(JEP 143: Improve Contended Locking)

能够改善程序运行时的多线程同步效率。

▶ 代码执行效率改善(JEP 197: Segmented Code Cache)

这个特性一般不会在 Java 代码中直接使用,它通过对本地编译代码(即代码缓存)进行更好的组织,让 JRE 的运行效率有所提高。

▶ Java 模块化(JEP 261: Module System)

这就是令 Java 9 跳票数次的罪魁祸首 Project Jigsaw。这里就不多说了。

▶ 交互式命令行(JEP 222: jshell: The Java Shell)

简称 JShell,方便对程序进行调试,以及快速检验 API 的可行性,你无须创建一个项目来学习 API,打开 JShell 即可。

▶ ResourceBundle 支持 UTF-8 编码(JEP 226: UTF-8 Property Resource Bundles)

ResourceBundle 的缺省编码问题一直是被吐槽的对象,非英文字符被转码为看不懂的形式,严重损害了代码的可读性。从 Java 9 开始,ResourceBundle 默认编码为 UTF-8。

▶ G1 成为默认的垃圾收集器(JEP 248: Make G1 the Default Garbage Collector)

G1 进一步减少了 GC 时的停顿时间(GC pause time),其实它从 JDK 8u40 开始就已经十分完善,足以作为默认的垃圾收集器了。

▶ 优化字符串占用空间(JEP 254: Compact Strings)

在很多应用当中,字符串已经成为一个消耗内存的主要部分。通过优化字符串的占用空间,应用的内存使用可以得到明显改善。


如果你还在用 Java 6/7,那么上面这些性能方面的优化(还不算 Java 8 的优化)就足以让你尽快升级到 Java 9 了。

Java 9 还有其他一些方面的新特性,比如 jlink,支持 tiff 图片,支持 Unicode 8,支持 SHA-3,对 ECMAScript 6 的部分支持,优化对调用堆栈(Call Stack)的访问,HTML5 格式的 JavaDoc、通过利用最新架构的 CPU 指令来加速加密解密操作,等等。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值