随着Oracle确认了其余的4个Java 9特性,下一代Java的计划開始变得更清晰了,Oracle已经发布了第二套Java 9特性。自从Oracle在今年早些时候宣布了3个新的API和模块化源代码后,这是Oracle首次推出Java 9特性表。

统一JVM日志(JEP 158

Java 9将会对全部的JVM组件採用同样的日志格式。

这将会改变JVM子系统记录事件的方式,以及为日志加入了统一的命令选项。

很多其它的编译器控制(JEP 165)

Oracle想利用一系列的控制选项来对Hostspot JIT编译器提供很多其它细粒度的控制。

这个改进将会让开发人员在优化方面获得很多其它的方法上下文(method-control)相关控制,同一时候同意他们改变JVM编译器的控制选项 。

移除过时的GC组合 (JEP 214)

这次更新将会移除三个已经过时的垃圾收集组合:DefNew + CMS, ParNew + SerialOld和增量模式CMS,这些组合在Java 8已经不建议使用了。Oracle声称移除垃圾收集组合动机是为了节省维护成 本。希望这些修改能腾出一些资源来简化Hostspot GC的代码,从而降低bugs和改善其它GC组合

改善Coin项目的缺陷 (JEP 213)

Coin项目刚開始是为了对Java 7进行一些小的语言改动而建立的。实践证明这些改动是简单易用并行之有效的,所以Oracle计划返回这个项目去解决当时改动语言时的遗留问题。

项目发起人已经表明清楚了。这次改动不是进行第二版本号的Coin项目。并且他们不再去征求新的语言提议

參考:Java社区对Java 9 的特性有什么看法

已经证实了Java 9将会支持数据报传输层安全性,伴随着还有输出HTML5格式的Javadoc工具

Oracle相同宣布了他们要完毕一个警告清除的项目,这个项目已经開始进行了几年了。对import的处理问题作出很多其它的改善修复,不建议使用的类将不再会触发警告提醒

Java 9模块化被证实

Oracle相同承诺了去模块化源码。模块化JDK源码的计划在今年年初已经公开了。Oracle的project团队已经为结构化实施Jigsaw(JEP152JEP201)项目奠定了基础

參考:Panama项目会加进Java 9的特性里吗?

Java平台的首席架构师Mark Reinhold阐明。Oracle用JRE和JDK中的模块取代JAR的计划会对IDE(集成开发环境)会产生一些影响 。

“这将会影响到一小类的应用程序。主要是IDE和其它需 要枚举和检測保存在执行映像中的类的开发工具”

依据Reinhold所说,一个可以检測这些类的新机制 (JEP 220) 将会被启用而且能使这些类在某种程度上免疫以后改变格式造成的影响。他近期的一番话“JAR格式已经走到它的尽头了,如今是做出改变继 续向前的时候了。

”给以JAR打包类库和应用程序的程序猿中造成了不安。

对于这件事,Reinhold称“那些应用依旧会非常好地执行”

在今年早8月份被证实的第一组Java 9特性包括了3个新的API和3个小的特性在Java社区里的回应都非常冷淡

原文链接: Jaxenter 翻译: ImportNew.com进林

译文链接: http://www.importnew.com/13986.html

Oracle宣布很多其它的Java 9 新特性的更多相关文章

  1. Java 8 新特性终极版

    声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己 ...

  2. Java 8新特性探究(八)精简的JRE详解

    http://www.importnew.com/14926.html     首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 - 首页 所有文章 资讯 ...

  3. 【整理】Java 8新特性总结

    闲语: 相比于今年三月份才发布的Java 10 ,发布已久的Java 8 已经算是老版本了(传闻Java 11将于9月25日发布....).然而很多报道表明:Java 9 和JJava10不是 LTS ...

  4. Java-Runoob-高级教程:Java 9 新特性

    ylbtech-Java-Runoob-高级教程:Java 9 新特性 1.返回顶部 1. Java 9 新特性 Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变 ...

  5. Java 8 新特性终极指南

    1.前言 毫无疑问,Java 8的发布是自从Java5以来Java世界中最重大的事件,它在编译器.工具类和Java虚拟机等方面为Java语言带来的很多新特性.在本文中我们將一起关注下这些新变化,使用实 ...

  6. [转帖]Java 8新特性探究(八)精简的JRE详解

    Java 8新特性探究(八)精简的JRE详解 https://my.oschina.net/benhaile/blog/211804 精简版的api   撸了今年阿里.网易和美团的面试,我有一个重要发 ...

  7. [转帖]Java 8新特性探究(九)跟OOM:Permgen说再见吧

    Java 8新特性探究(九)跟OOM:Permgen说再见吧 https://my.oschina.net/benhaile/blog/214159 need study 很多开发者都在其系统中见过“ ...

  8. Java 8 新特性——检视阅读

    Java 8 新特性--检视阅读 参考 Java 8 新特性--菜鸟 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的 ...

  9. Java 8新特性解读

    (四)Java 8 相关知识 关于 Java 8 中新知识点,面试官会让你说说 Java 8 你了解多少,下面分享一我收集的 Java 8 新增的知识点的内容,前排申明引用自:Java8新特性及使用 ...

随机推荐

  1. ASPNET CORE初探

    ASP.NET Core 开发-中间件(Middleware)   ASP.NET Core开发,开发并使用中间件(Middleware). 中间件是被组装成一个应用程序管道来处理请求和响应的软件组件 ...

  2. [转] NSMapTable 不只是一个能放weak指针的 NSDictionary

    NSMapTable 不只是一个能放weak指针的 NSDictionary NSMapTable是早在Mac OS X 10.5(Leopard)的引入集合类.乍一看,这似乎是作为一个替换NSDic ...

  3. 【GISER&&Painter】Chapter01:WebGL渲染初体验

    基于上一篇OpenGL的渲染原理,这两周又陆续接触了一些关于WebGL绘图的一些内容,因为刚入门,很多东西又很晦涩,所以特意花了小半天的时间整理了一下,特此记录. 零  画一个多边形吧! 把一个多边形 ...

  4. myBatis + SpringMVC上传、下载文件

    摘自: http://limingnihao.iteye.com/blog/1069503 环境:maven+SpringMVC + Spring + MyBatis + MySql 本文主要说明如何 ...

  5. vmware 传输(vmdb)错误-32:pipe:read failed 解决方法

    摘自: http://www.myzhenai.com.cn/post/1088.html 传输(vmdb)错误-32:pipe:read failed 解决方法   原创内容,转载请注明出处:htt ...

  6. [简谈]绕过HR破门而入的求职智慧

    以往我们在网上看到的非常多求职文章或指导性纲领,譬如啥自信.做功课.良好形象.华丽的简历.工作经验.口才啥的,事实上到了21世纪尤其是互联网快速发展的今天,前面这些技巧就显得无比空洞: 1.由于自信谁 ...

  7. org.hibernate.MappingException: An association from the table order_intem_inf refers to a unmapped

    执行一个HIbernate的演示样例时出现例如以下错误信息 Exception in thread "main" java.lang.ExceptionInInitializerE ...

  8. C++ 11 - STL - 函数对象(Function Object) (下)

    1. 预定义函数对象 C++标准库内含许多预定义的函数对象,也就是内置的函数对象. 你可以充分利用他们,不必自己费心去写一些自己的函数对象. 要使用他们,你只要包含如下头文件 #include < ...

  9. honeyd蜜罐配置和web监听脚本

    Honeyd的安装和配置 Honeyd软件依赖于下面几个库及arpd工具: (1)Libevent:是一个非同步事件通知的函数库. 通过使用 libevent,开发者能够设定某些事件发生时所运行的函数 ...

  10. 【laravel54】查看版本号3种方式

    1:最简单的用命令行实现>进入项目目录,执行 > php artisan --version 2:查看文件 vendor\laravel\framework\src\Illuminate\ ...