143: Improve Contended Locking
优化竞争锁的机能
可以或许改良法度榜样运行时的多线程同步效力。
158: Unified JVM Logging
同一 JVM 日记
解决该问题最佳办法:对所有的JVM组件惹人一个单一的体系,这些JVM组件支撑细粒度的和易设备的JVM日记
165: Compiler Control
193: Variable Handles
操作内存,用来替代sun.misc.Unsafe。操作内存更安然,且机能雷同或类似的等效sun.misc.unsafe操作。
在JDK 9中供给了一个新的包,叫做java.lang.invoke琅绫擎有一系列很重要的类比如VarHandler和MethodHandles,供给了类似于原子操作以及Unsafe操作的功能。
197: Segmented Code Cache
262: TIFF Image I/O
代码分段缓存
JDK 9 中的代码段在 Segmented Code Cache 的感化下,可以被加倍细分,并且每个代码段还可以包含特定类型的编译代码,这个功能同样也有望晋升 Java 9 机能。
jdk 9 :javadoc的输出,如今相符兼容HTML 5 标准。
198: Light-Weight JSON API
尽管今朝有多种处理JSON的Java对象(如Google的Gson、阿里巴巴的FastJson、IBM的Json4J等),但JSON API是Java说话的一部分,轻量并且应用了Java 8的新特点。JSON API将放在java.util包里一路宣布,如许,开辟者就可以直接应用JDK而无需再惹人第三方JSON对象包了
智能Java编译对象(sjavac)的第一阶段始于JEP139这个项目, 用于在多核处理器情况下晋升JDK的编译速度。如今,这个项目已经进入第二阶段即JEP199, 其目标是改进Java编译对象,并代替今朝JDK编译对象javac,继而成为Java情况默认的通用的智能编译对象
Java 9的另一个机能晋升来自于JIT(Just-in-time)编译器。当某段代码被大年夜量反复履行的时刻, 虚拟机会把这段代码编译成机械码(native code)并储存在代码缓存琅绫擎, 继而经由过程拜访缓存中不合分段的代率攀来晋升编译器的效力。代码分段缓存机制将会晋升很多方面的机能,如当JVM进行垃圾收受接收扫描的时刻,就可以直接跳过永驻代码,大年夜而晋升效力
200: The Modular JDK
Java 9中最重要的功能,毫无疑问就是模块化(Module),代码名字叫做Jigsaw(拉锯),这个拉锯项目拉了几年,终于要把宏大年夜冗余的Java锯成一个个的Module,便利开辟和安排。熟悉Java的同窗,都知道JRE有一个超等大年夜rt.jar(例如,Java 8的rt.jar中有65M),运行一个hello world,你也须要一个数百兆的JRE情况,如不雅在J2EE情况,情况将变得复杂无比
201: Modular Source Code
211: Elide Deprecation Warnings img_ img_ alt="Java9新特点逐项解析,总有一项get到你的点,先收藏着!" inline="0" />
这是我们在Jshell这个控制台下运行,我们若何运行脚本文件呢?
223: New Version-String Scheme
224: HTML5 Javadoc
jdk 8 :生成的java赞助文档是在HTML 4 中,而HTML 4 已经是良久的标准了。
下图是java8 中生成的html页面,如不雅想要找到一些类文档,必须在google中搜刮
下图是在java 9 中,添加了一个搜刮框。
225: Javadoc Search
226: UTF-8 Property Files
属性文件支撑 UTF-8 编码
ResourceBundle 的缺省编码问题一向是被吐槽的对象,非英文字符被转码为看不懂的情势,严重伤害了代码的可读性。大年夜 Java 9 开端,ResourceBundle 默认编码为 UTF-8。
227: Unicode 7.0
JDK9进级现有的平台APIs以支撑Unicode标准的7.0版,支撑Unicode的最新版本。
日记是解决问题的独一有效门路:曾经很难知道导致JVM机能问题和导致JVM崩溃的根来源基本因。不合的JVM日记的碎片化和日记选项(例如:JVM组件对于日记应用的是不合的机制和规矩),这使得JVM难以进行调试。
228: Add More Diagnostic Commands
229: Create PKCS12 Keystores by Default
231: Remove Launch-Time JRE Version Selection
232: Improve Secure Application Performance
233: Generate Run-Time Compiler Tests Automatically
235: Test Class-File Attributes Generated by javac
236: Parser API for Nashorn
JDK 9 中附带了一个 Nashorn 的 parser API,它的目标是 Java 在本地 JVM 中实现轻量级高机能 JS runtime。这个新特点可以保障 Java 9 更好的融合 JavaScript 和 Java 的两方之力。
237: Linux/AArch64 Port
连接到Linux / AArch64的端口。
AArch64是ARM控股公司推出的新处理器体系构造。它与32位ARM处理器架构不合,实际上是一个完全的从新设计。它须要一个新的OpenJDK端口
238: Multi-Release JAR Files
类的功能也被加强了。
当一个新版本的Java出现的时刻,你的库用户要花费数年时光才会切换到这个新的版本。这就意味着库得去向后兼容你想要支撑的最老的Java版本(很多情况下就是Java 6 或者 Java7)。这实际上意味着将来的很长一段时光,你都不克不及在库中应用Java 9所供给的新特点。荣幸的是,多版本兼容jar功能能让你创建仅在特定版本的Java情况中运行库法度榜样选择应用的class版本。
240: Remove the JVM TI hprof Agent
今朝,零端口可用于在Linux / s390x上运行JDK,但速度很慢(因为它只应用旧的、弃用的c++说冥器),并且测试不太好。它不是运行应用法度榜样办事器或用Java编写的数据库应用法度榜样等工作负载的┞锋正替代筹划。
推荐阅读
【51CTO.com原创稿件】由中国电子技巧标准化研究院主办、51CTO承办的“第七届中国云计算标准和应用大年夜会”于2018年1月4日至1月5日在北京成功召开。本次大年夜会周全展示我国云计算国度标准>>>详细阅读
地址:http://www.17bianji.com/lsqh/40396.html
1/2 1