Java9 2016年发布,新特性抢先看

很显然,Oracle已正在开发Java 9。Java 9主要的增强内容之前已经出现在OpenJDK之上。而现在Oracle发布的是真正的新特性,前一个JDK 9的early access发行版被标注了“修复bug和小增强”。

Java9 2016年发布,新特性抢先看

新的APIs和性能特性:

1、轻量级的JSON API

2、HTTP 2Client支持HTTP 2.0和WebSockets,替代传统的HttpURLConnection

3、Process API更新提升对操作系统进程的控制和管理

此外还有一些小的特性和性能提升:

1、Improvecontended locking,提升访问对象时的线程竞争处理

2、Segmentedcode cache更好的性能、更短的扫描时间,更少的碎片

3、Smart Java compiler,或者叫sjavac,用于更大项目的构建

Java的本地接口也被重新作为Java Native Runtimeproject的一部分,将支持多GB堆和一个自调整的JVM。

模块化的源码

如果你对上述特性不感兴趣,Oracle还承诺modular source code,目的是重新组织JDK的源码,使之模块化,以及项目Jigsaw的结构化实现。

Jigsaw在Java 7的时候被移除,并在Java 9中回归,这是Oracle下一个Java版本最大的正义点。该项目主要的目的是为更小的设备提供可伸缩性,改进JDK和Java SE的安全性,对大型应用的性能提升以及更易于构建。与此同时PenroseProject用于探索Jigsaw和开源网关计划之间的互操作性。

Oracle的Java平台组的软件开发副总裁Georges Saab之前告诉JAXenter目前主要工作是在处理Jigaws项目,开发团队正在探索和制作一个简单方法的原型来确保能在Java 9发布时可用。

动荡的版本历史

不管怎么说,Oracle知道如何应对不守时的发布Java版本时的吐槽,向之前的Lambda项目和Applet的一些安全问题等等,这些使得Java 8的发布整整推迟了2年,甚至到现在还有Java 8的一些更新导致很多开发工具无法使用的问题

Java 9计划在2016年发布,留给Oracle只有不足2年的时间,但还有大量的时间来对这些特性进行讨论、请求公告等。

更多相关文章
  • 信息化技术的高速发展,为每个时代烙下了不同的印记.如今,我们正处于云计算和大数据时代,云计算以其灵活的计算能力和平台开放能力,为大数据的快速发展打下了良好基础,并已先行落地;而大数据作为云计算应用的升华,正在展现着数据的价值与魅力,并为各行各业的业务创新不断提速. 大数据来势汹汹,传统行业面临着重构 ...
  • 老男孩教育第三关课后实战考试题练习:请统计老男孩老师的博客 http://oldboy.blog.51cto.com/ 博客每小时所有用户访问的pv数量(统计样本5个小时以上). 要求:老男孩20-21期的学生必答题(务必自己搞出来,能力才会提升),其他期可选.也欢迎linux初学网友们参与解答,高 ...
  •   一.在Windows2003安装IIS   1.首先打开Windows2003的控制面板,查看是否有“管理工具”,没有也不要紧,点击“添加或删除程序”.有的话,可以直接进入第二步,IIS的配置. 2.在弹出的窗口,选择添加/删除Windows组件的功能,选择把“网络服务”组件与“应用程序服务器” ...
  • 每经记者 孙卫涛 发自北京中国移动抢跑4G之后,中国电信按捺不住了.近日,中国电信关于天翼4G的广告语开始在中国各大城市的地标性位置亮相,风头直追中国移动4G的宣传,4G大战一触即发.有消息称,12月18日,中国移动将正式发布4G品牌"和"以及4G终端策略,在此之前,中国移动关于 ...
  • join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); / ...
  • 摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动.  感谢[ 成都-无痕 ]提供话题,同时欢迎大家提供话题. “敏捷开发”或工作效率方面话题. 什么是敏捷开发? 敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发. 在敏捷开发中,软件项目在构建初期被切分成多个 ...
一周排行
  • 1. 3ds max是以树状结构来管理整个场景的,每个树节点类型为INode 2. Interface类很关键,可以通过其中的GetRootNode.NumberOfChildren和GetChildNode方法来遍 ...
  • MySQL服务器端的参数有很多,但是对于大多数初学者来说,众多的参数往往使得我们不知所措,但是哪些参数是需要我们调整的,哪些对服务器的性能影响最大呢?对于使用Myisam存储引擎来说,主要有key_buffer_si ...
  • 1.在MyEclipse中选择Windows-> Show View->others 2.others中选择SVN文件下面的SVN资源库 3.在SVN资源库窗口中,对资源地址右击选项中,“重新定位”可修改 ...
  • 以下为批量解锁帐号的脚本, 其中有删选条件 大家可以自行更改. '=========================================================================== ...
  • Mysql数据导入到MongoDB   (1)从mysql导出数据位csv文件,如: Java代码   SELECT * FROM APP_CALL_LOG_1362959187037 WHERE CREATE_TI ...
  •   基本思路是封装对于Windows API InternetGetConnectedState 的调用,然后显示在UI上.   UI的基本布局如下:   具体封装实现代码如下: public partial cla ...
  • 现在我们对事务的概念和原理都有所了解了,并且作为已经有一些基础的C#开发者,我们已经熟知编写数据库交互程序的一些要点,即: (1)使用SqlConnection类的对象的Open()方法建立与数据库服务器的连接. ( ...
  • 请点击这里,免费邮件订阅各种电子杂志!
  •   昨天测试人员从用户那里做完用户测试回来.这已经是第三次用户测试了.下星期还会有第四次.   在公司一般来说,一个项目/模块经过三次用户测试还不能通过,是极少发生的.所以我心里也很忐忑,虽然用户并不急,但是心底总是 ...
  • 在最近的IT领袖峰会上,马化腾.李彦宏表现中规中矩,硬件大佬杨元庆全面开炮,对互联网安全软件"捆绑用户"的一顿臭骂,李彦宏.马化腾当场予以否认,大家又开始玩起"猜猜是谁"的游戏 ...