首先,是流行度的问题
JetBrains去年(2020年)对JDK版本使用率做过调查,JDK8高达75%,JDK11占32%,这俩是有绝对优势的,其他版本都在15%以下。
而且JDK的大版本兼容性并不是100%的,一旦工程规模大了,一些老版本的库就会存在兼容性问题,大部分的开源软件,要支持JDK15这种都需要更新到较新的版本才行,而这些兼容性问题解决起来会耗费大量时间,带来的收益与风险不成正比就导致大量项目组不愿意升级JDK,导致JDK8大行其道。
其次,是JDK本身的支持问题
- JDK版本都是有支持时间的,有些版本支持时间长,被称之为长期支持版(LTS),这种版本会在出了新的大版本之后仍然会持续更新很长时间
- 有些版本支持时间短,短到出到下一个大版本之后,就会停止更新,被称为短期支持版(STS)或者说,过渡版本
- 这种支持策略是从JDK9前后开始的,JDK8因为历史原因,官方的支持时间甚至比JDK11都长,一竿子支到了2030年,而JDK11的支持时间只到2026年。部分发行版的OpenJDK8的支持时间也比OpenJDK11长
- JDK15只是一个短期支持版本,JDK16出了JDK15就会停止维护
- 下一个长期支持的版本是JDK17
所以,你选哪个版本?
需要更多教程,微信扫码即可
别忘了扫码领资料哦【高清Java学习路线图】
和【全套学习视频及配套资料】
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)