前言:Java 9升级的新功能中包括几种编译新功能的改进,其中主要的AoT编译仍在实验阶段。此功能可以在虚拟机中启动之前将Java中的类的编译为本机代码,这对于缩短小型和大型应用程序的启动时间以及峰值性能都有重大影响。
磨剑三年,跳票一年,Java9新功能有哪些神通?今天达内小编就来给大家详细介绍一下吧!
在经历了一轮又一轮的跳票,一次又一次的延迟之后,万众期待的Java 9终于来了。迫不及待想要尝鲜的程序员们,赶紧下载使用了,Java9新功能新体验,给你不一样的感觉!

JDK 9是自2014年3月之后第一次升级的Java标准版本,从最开始,程序员就对此抱有了极大的热情,如今千呼万唤始出来,我们就一起来看看Java 9有哪些新特性:
Streams API的增强功能
Java 9的开发人员利用流程表达计算,从而使数据并行性被有效的利用。而Java 8中的Stream功能,主要用于声明数据处理,同时利用多核架构。
相对于Java 9中的Streams API,不仅添加了从Stream获取和删除项目的方法、迭代Stream元素,同时扩展可用作Stream源的Java SE API集。
代码缓存可被分离
JDK 9语允许将代码高速缓存分为多个段,并且允许扩展,这样大大提高Java 9的性能。Java 9中的迭代器通过改进分离非方法、异形和非异形代码,提高一些基准的执行时间。
Java 9中弃用或删除的功能
Java 9中不再支持的几个功能中最主要的是Applet API。许多具有安全意识的浏览器制造商已经取消对Java浏览器插件的支持,并走出了自己的风格,HTML5近几年的流行也加快了这个趋势。开发人员开始逐渐使用Java Web Start之类的替代方案。
此外,CMS垃圾回收器在今后的版本中也会被停止沿用。停用的目的是加快HotSpot虚拟机中其他垃圾收集器的开发,低暂停G1垃圾收集器旨在长期替代CMS。
同时,JDK 8中以前不推荐使用的垃圾收集组合在JDK 9中也被删除,这样以来会减少垃圾收集器代码库的复杂性,这些组合包括增量CMS、ParNew + SerialOld和DefNew + CMS。
轻量级JSON API
Java 9中有一个轻量级的API,它支持JSON文档和数据流的生成和使用,在Java 9的主要特性中,这是最值得期待的,同时也是最有望带来性能改进的。
Project Jigsaw — Module System
Java 9的主要改变是Project Jigsaw的形式,这是一个全新的模块系统。作为Java 9的重要特征,Project Jigsaw在受到关注的同时也避免不了受到diss。这个功能会使JDK、run-time images以及Java 源代码等模块化,甚至开发者还可以创建自己的模块来简化代码。
JShell
Java 9中引入了JShell工具,它让很多程序员为之疯狂,为Java平台带来了读入-求值-打印-循环(Read-Eval-Print-Loop,REPL)功能。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项。
编译器的改进
Java 9升级的新功能中包括几种编译新功能的改进,其中主要的AoT编译仍在实验阶段。此功能可以在虚拟机中启动之前将Java中的类的编译为本机代码,这对于缩短小型和大型应用程序的启动时间以及峰值性能都有重大影响。
另一个关于Java 9优化的重大方面包括JVM编译器接口的改进,JVM编译器接口允许使用Java编写的编译器作为JVM的动态编译器。JVMCI的API提供访问的VM结构、安装编译代码以及插入JVM编译系统的机制。
此外,在Java中编写JVM编译器比用C或C ++编写的现有编译器更容易维护和改进,因此,前者预测会比后者在今后更加受欢迎。
Process API Changes
Process API的改进使得Java 9对OS process拥有更好的控制和管理方式。
Segmented Code Cache
JDK 9中的代码段在Segmented Code Cache的作用下,可以被更加细分,而且每个代码段还可以包括特定类型的编译代码,这个功能同样也有望提升Java 9性能。
Ahead of time compilation
虽然还在实验阶段,但是AOT编译有望提高应用程序的启动时间。
New HTTP 2 Client
如果没有新的HTTP客户端来实现HTTP / 2和WebSocket,那么Java 9是不完善的。它将改进Web页面加载时间、提高性能和减少资源使用。
Parser API for Nashorn
JDK 9中附带了一个Nashorn的parser API,它的目标是Java在本地JVM中实现轻量级高性能 JS runtime。这个新特性可以保障Java 9更好的融合JavaScript和Java的两方之力。
Java 9的模块化改变了游戏规则
基于Project Jigsaw的模块化功能引起了广大程序开发人员的争议,Java商店对于模块化功能并没有立即更新,而是保守的决定等模块化日渐成熟后在进行更新。
模块化是以Java平台模块系统的形式将JDK分为一组模块,用于运行、编译或构建时间组合的功能。模块化也被称为一次具有传递性的变更,有利于帮助人们进一步了解模块之间的依赖关系。
模块化可以让软件开发人员更容易的组装和维护复杂的应用程序,此外,Java 9中的模块化可以使得Java更好的缩小模块化到更小的设备,同时提高安全性和性能。
模块化主要包括应用程序打包、模块化JDK本身、将源代码重新组合成模块以及重构JDK和Java运行环境映像等。JavaFX UI控件和CSS API现在可用于模块化。
模块化支持多种配置,可以提高可扩展性、安全性和应用性能,将Java 9轻松的扩展到小型设备是模块化的关键驱动力。

通过模块化,开发人员能够更好的构建和维护Java SE以及Java EE相关库和大型应用程序。但在Java 9的开发过程中,Oracle、IBM、Red Hat等公司对如何对Java平台进行重大更新产生了分歧,故模块体系在今年5月份被拒绝,经过6月份又一次改进之后才在第二次投票中通过。
除此之外,Java 9还包含以下特性:
Multi-release JARs
Process API updates
Garbage Collector improvements
Better Javadoc
Stream API improvements
Private interface methods
当然,这还只是冰山一角,Java 9的功能集实际要长得多,大家可以去以下地址查看Java 9的完整功能集
最新版本开始也意味着Java 9时代的结束
Oracle最近透露,Java 9是最后一个版本,下一个版本被称为Java 18.3,预计到2018年3月发布。按照Java 9的发布节奏来看,JDK 9也不会被指定为长期的支持版本,相反,下一个长期使用的版本很有可能是Java 18.9。
文章出自:http://qh.itpxw.cn/peixun/software/201737220.html
文章标题:Java 9新功能的出现意味着Java 9时代的结束
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...