JDK1.9发布已经有一段时间了。最近研究了一下JDK1.9的新特性。现简单介绍一下。如有疏漏请多指教。 1,java9的核心变化 java9的核心变化就是引入了一种新的Java编程组件,也就是模块化。大家都知道,java已经是老人家级别的语言了,从1995年到如今,jdk的版本升级使得它的功能愈发完善,但是这也导致了API的臃肿,java9的模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。 2,轻量级JSON API java9中有一个轻量级的API,它支持json文档和数据流的生成和使用,在java9的主要特性中,这是非常值得期待的,同时也是最有望带来性能改进的一个新特性 3,java9的垃圾收集机制 java9使用G1作为默认的垃圾收集器,替代了之前默认使用的ParallelGC,对于这个改变,evens的评论是酱紫的:这项变更是很重要的,因为相对于Parallel来说,G1会在应用线程上做更多的事情,而Parallel几乎没有在应用线程上做任何事情,它基本上完全依赖GC线程完成所有的内存管理。这意味着切换到G1将会为应用线程带来额外的工作,从而直接影响到应用的性能 4,JShell java9引入了jshell这个交互性工具,这对于使用java的程序员来讲应该是个不错的消息,jshell为java带来了读入-求值-打印-循环的功能。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项 5,Process API Changes processAPI的改进将使java9对os process拥有更好的控制和管理方式 6,http2.0 http2.0已经获批了,他是基于google的spdy算法构建的,http2.0将会比1.0拥有更加快的速度,而且会使巨大的提升。java9将全面支持http2.0,以所谓的孵化器模块交付,并且为java配备一个全新的http客户端来替代HttpURLConnection,并且同时还实现http2.0和websockets
|