java9新特性小探

来源:互联网 发布:java程序流程图怎么画 编辑:程序博客网 时间:2024/04/30 15:21

模块化
选择性封装和暴漏指定的包,即不编译成.class文件,这样我们可以根据一个项目需求自定义组件,比如减少rt.jar的大小,没用到的package将不会包含在我们的项目里。


支持HTTP2.0
Java配备一个全新的HTTP客户端来替代HttpURLConnection,并且同时还实现HTTP 2.0和websockets。


改进javadoc
以前对某个类不熟悉,还得先google百度它的位置,现在javadoc增加了索引功能,晚来的人性化。


接口私有方法
继java8的接口默认方法之后,java9又推出接口私有方法,这个特性可以帮助我们对多个默认方法的相同部分进行提取重构。


集合工厂方法
比如Set<Integer> ints = Set.of(1, 2, 3);
这个ints集合是不可变的,这样的好处是该集合是高度优化的,并且不用写多行add()代码,阅读性更好。


代码分段缓存
java 9的另一个性能提升来自于JIT(Just-in-time)编译器. 当某段代码被大量重复执行的时候, 虚拟机会把这段代码编译成
机器码(native code)并储存在代码缓存里面, 进而通过访问缓存中不同分段的代码来提升编译器的效率。
和原来的单一缓存区域不同的是, 新的代码缓存根据代码自身的生命周期而分为三种:
- 永驻代码(JVM 内置 / 非方法代码)
- 短期代码(仅在某些条件下适用的配置性(profiled)代码)
- 长期代码(非配置性代码)
缓存分段会在各个方面提升程序的性能, 比如做垃圾回收扫描的时候可以直接跳过非方法代码(永驻代码), 从而提升效率。


货币API
在Java 8引进了日期和时间的API之后, Java 9引入了新的货币API, 用以表示货币, 支持币种之间的转换和各种复杂运算


轻量级JSON API
以往我们使用的都是第三方开发的jar,现在java.util包将加入官方的json处理工具类


简化进程API

这一更新将扩展Java与操作系统交互的能力:全新的直接操作PID、进程名和状态的方法,操作JVM线程和进程等等能力。


借鉴于链接1和链接2,期待java9稳定版到来java9...


原创粉丝点击