您现在的位置是:亿华云 > IT科技

Java 14 都快来了,为什么还有这么多人固守Java 8?

亿华云2025-10-08 23:11:14【IT科技】3人已围观

简介从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,Java 14

 从Java 9开始,都快多人Java版本的固守发布就让人眼花缭乱了。

每隔6个月,都快多人都会冒出一个新版本出来,固守Java 10 ,都快多人 Java 11, Java 12, Java 13, 到2020年3月份,固守Java 14就要来了。都快多人

说实话,固守这种频繁的都快多人发布有点儿让人审美疲劳,每次我看到介绍Java新版本,固守新特性的都快多人文章也没兴趣点开看了。

在这么多的固守版本中,只有Java 8,都快多人 Java 11 和未来的Java 17 是长期支持版本(LTS),Oracle会支持3年,固守其他的都快多人只会支持6个月,新版本一出,就放弃老版本的技术支持。

这种快速的发布有好处吗?

有 ! 小步快跑一直是我们软件开发的利器,采用迭代的方式,每次发布一部分功能,推向开发人员去验证,典型的免费信息发布网敏捷思路。

但是这种好处更有利于JDK的开发者,对使用Java的个人和公司来说,想要跟上每六个月就要升级的步伐,实在是太难了。JDK是个非常核心的基础设施, 除了安全漏洞,谁没事去升级生产环境的JDK啊?出了问题谁负责?

所以,按道理讲大家都会去找那些LTS的版本来升级,例如Java 11, 但是事实证明大部分人还在固守Java 8 :

这个调查显示,使用Java 8的公司和程序员高达80%, 这是为什么呢?大家为什么不升级到Java 11呢?

我个人觉得主要原因是对开发有利的重大特性升级很少,吸引力不够。

在过去的十几年中,Java相继引入的泛型、注解、服务器托管NIO、函数式编程等核心功能,极大地影响了应用程序开发的方式,你能想象现在的Java中没有注解会是什么样子吗?

这几年的Java版本中,就缺乏这种重大功能的升级了,我把我有点印象的功能升级列一下:

注意黑体的这几项, Java 9引入了模块化系统,这是个看起来很美的特性,可是对程序员来说,这是一个破坏性的更新,因为JDK做了模块化,但是很多第三方库没有做模块化, 如果想让自己的项目也模块化,很有可能是一次不断填坑的经历,尤其在使用第三方库的时候。

Java 11的企商汇ZGC是个有吸引力的特性,它的设计目标是:支持TB级内存容量,GC暂停时间低(<10ms),对整个程序吞吐量的影响小于15%,确实挺让人激动的!如果真的实现了,程序员就可以可劲儿造对象,而不用考虑GC了,可惜这仍然是个实验性质的版本。

至于局部变量类型推导,也只是方便了变量的声明而已。

一个JDK的版本如果想被广泛采用,一定得能提升开发效率(如泛型、注解),带来变革,这样才有吸引力, 如果给程序员们带来了麻烦, 大家就会用脚投票了。

【本文为专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

戳这里,看该作者更多好文

很赞哦!(99)