首先小编给大家打个预防针,这是一个很有趣且有争议的问题,小编也是在逛知乎时发现了这个有趣的问题。其下面的回答有一百多个,被关注有两百多个,被浏览了三十多万次,所以足以说明这个问题还是蛮有趣的。
小编寄语:不能为了技术而技术,技术是服务于业务的。
小编对知乎上面的答案和答案下面的讨论简单浏览了一遍,然后总结的主要观点大约如下:
技术债务角度
老项目技术栈的的升级要么是遇到了需求瓶颈,要么是技术工作比较空闲才会进行,一般追求稳定的情况下是不会轻易升级的。新项目可以直接考虑使用新版本 JDK 更香。
技术生态角度
三方框架及开源圈对于新版本的适配还不是很积极,如果你使用了最新 JDK 就会在一定程度上缩小你对三方框架的选择空间。
JDK 特性角度
从 JDK4 升到 JDK5,从 JDK5 升到 JDK6、JDK7、JDK8 都挺平滑的,但是从 JDK8 升到 JDK9+ 一点都不平滑,由于官方的新特性和大幅调整导致一些 jar 依赖的改变,模块化特性带来的反射问题,ClassLoader 变化导致的某些问题等,每个都能把开发搞得欲死欲仙。
商业角度
因为 Oracle JDK8 的某一个版本之后的新版本 JDK 不再能被商业公司免费使用了,商业使用需要付费(这才是最大的阻力)。这很关键,所以有些大厂开始搞基于 OpenJDK 的自己 JDK(当然也有因为业务需要这么干的)。
小编总结后的主要原因如上,想要深入讨论的不妨请移步到这个有趣问题的知乎链接:https://www.zhihu.com/question/325293339
<扫一扫加开发仔小编 朋友圈技术更精彩>
点击左下角阅读原文查看历史经典技术问题汇总,看完顺手一键三连呀~
本文分享自微信公众号 - 码农每日一题(DailyCoder)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4872612/blog/4890150