JDK1.9

5 篇文章 0 订阅

继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发布已经提上日程。预计在2016年发布Java 9,同时公布了JEP(JDK改进提议)中的前期列表。任职于Takipi 的Alex Zhitnitsky整理了Java 9中一些纳入JSR(Java规范提案)的新特性和大家一直期待但未确定的一些特性。这些特性有Jigsaw项目、新的智能编译工具、期待已久的API(如简化了的进程API、JSON API、货币处理API等)、代码分段缓存等。

现就对这些特性进行了一个全面的梳理。

已接受的特性

1、 Jigsaw 项目:模块化JDK源码

Jigsaw项目即JEP201是为了模块化Java代码,并将JRE分成相互协作的组件。这个JEP是迈向Jigsaw四步中的第一步,它只是模块化JDK源代码,不会改变JRE和JDK的真实结构,从而使得编译系统能够模块编译并在构建时检查模块边界。这个项目原计划随Java 8发布,但因为推迟,所以被放到了Java 9中。Jigsaw项目一旦完成,将允许开发者根据项目的需要自定义组件,从而减少rt.jar的大小;还可以做到使Java能够更加容易的应用到小型计算设备(如网络设备)中,同时也能够使得开发者更加容易地构建和维护这些类库。更多相关信息参见JEP201。

2、简化了的进程API

目前,Java控制与管理系统进程的能力是有限的,为了获得操作系统的一些信息需要调用本地程序或者其他变通方案。然而,在Java 9中将会新增一些新的、直接明了的方法来处理进程ID、名字和状态以及枚举多个JVM和进程等,从而扩展Java与操作系统的交互能力。更多相关信息参见JEP102

3、 轻量级的JSON API

尽管目前有多种处理JSON的Java工具(如Google的Gson、阿里巴巴的FastJson、IBM的Json4J等),但JSON API是Java语言的一部分,轻量并且运用了Java 8的新特性。JSON API将放在java.util包里一起发布,这样,开发者就可以直接使用JDK而无需再引入第三方JSON工具包了。更多相关信息参见JEP198

4、 钱和货币的相关API

Java 9引入了新的货币API, 用来表示货币, 并支持币种之间的转换和各种复杂运算。更多的相关具体信息,参见JavaMoney项目JSR354

5、 改善锁争用机制

锁争用限制了许多Java多线程应用性能,新的锁争用机制改善了Java对象监视器的性能,并得到了多种基准测试的验证(如Volano),这类测试可以估算JVM的极限吞吐量。实际中, 新的锁争用机制在22种不同的基准测试中都得到了出色的成绩。如果新的机制能在Java 9中得到应用的话, 应用程序的性能将会大大提升。更多相关信息参见JEP143

6、代码分段缓存

Java 9的另一个性能提升来自于JIT(Just-in-time)编译器。当某段代码被大量重复执行的时候, 虚拟机会把这段代码编译成机器码(native code)并储存在代码缓存里面, 继而通过访问缓存中不同分段的代码来提升编译器的效率。代码分段缓存机制将会提升许多方面的性能,如当JVM进行垃圾回收扫描的时候,就可以直接跳过永驻代码,从而提升效率。更多相关信息参见JEP197

7、智能Java编译工具

智能Java编译工具(sjavac)的第一阶段始于JEP139这个项目, 用于在多核处理器情况下提升JDK的编译速度。如今,这个项目已经进入第二阶段即JEP199, 其目的是改进Java编译工具,并取代目前JDK编译工具javac,继而成为Java环境默认的通用的智能编译工具。更多相关信息参见JEP199。

期待但未确定的特性

1. HTTP 2.0客户端

虽然HTTP 2.0标准还没正式发布, 但是它已经进入了最终审查阶段,并预计将在Java 9发布之前审查完毕。HTTP 2.0客户端即JEP110将重新定义并实现一个全新的Java HTTP客户端, 用来取代现在的HttpURLConnection, 同时还会实现HTTP 2.0和WebSockets等接口。另外,官方的HTTP 2.0 RFC预计于2015年2月发布, 它基于Google的SPDY协议。基于SPDY协议的网络相对于基于HTTP 1.1协议的网络有11.81%到47.7%的显著提速。更多相关信息参见JEP110。

2. Kulla项目: Java的REPL实现

现在,Java官方并没有提供REPL(读取-求值-打印-循环)的实现。当我们需要运行几行Java代码做一个快速测试时, 我们不得不把这几行代码封装在项目或者方法里,才可以完成测试,而Kulla弥补了这些不足。Kulla将于2015年4月进行整合测试,如果Kulla进度比较快的话,或许能够加入到Java 9中,就有希望成为Java官方发布的REPL解决方案。更多关于Kulla的相关信息参见于Kulla的计划安排。

另外,请读者注意,JEP和JSR来自Java发展的生态环境,包括对特定技术内容有共同兴趣的组织和个人组成的小组、至少由一个小组赞助和支持的项目(如最近的Lambda项目、Jigsaw项目、Sumatra项目)、被正式认可的JEP以及JSR。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK 1.9Java 开发工具包的一个版本,它是用于开发和运行 Java 应用程序的工具。JDK 1.9 在功能和性能上进行了一些改进和优化,以提高开发人员的工作效率和应用程序的性能。 网盘是一种云存储服务,它允许用户将文件上传到云服务器并通过互联网访问和分享这些文件。用户可以在任何时间、任何地点使用网盘来存储和管理他们的文件。网盘可以提供大规模的存储空间和高速的传输速度,使用户可以轻松地备份、共享和访问他们的文件。 将 JDK 1.9 和网盘结合使用可以带来一些好处。首先,开发人员可以将他们的 Java 项目文件存储在云端网盘中,这样可以避免在本地存储设备上丢失或损坏文件的风险。其次,通过云端网盘,开发人员可以方便地在不同的设备上访问和编辑他们的项目文件,提高了工作的灵活性和效率。 另外,使用 JDK 1.9 和网盘还可以方便地进行团队协作。团队成员可以将他们的代码和文档上传到网盘,并与其他成员共享和访问这些文件。这可以极大地简化团队合作过程中的文件共享和版本控制,提高团队的协作效率。 总之,结合 JDK 1.9 和网盘的使用可以提供更好的开发环境和团队协作平台。通过将项目文件存储在云端网盘中,开发人员可以轻松备份、共享和访问他们的文件,提高工作的灵活性和效率。网盘的使用还可以方便团队成员之间的文件共享和协作,简化团队合作过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值