java 8 - java 17 升级指北

2014年发布的java SE 8和2017年发布的java EE 8,至今还是使用最广泛的java版本,大部分java开发者对于java 8之后的升级总是敬而远之,这跟java 9以后的破坏性升级和oracle的商用协议有关,但随着9月java 17的发布,我们有更多理由去升级和在新项目中使用更新的java了。

为什么要升级?

  1. java 9之后的Java改变了更新策略,java 11是8之后的第一个LTS版本,之后每隔半年更新一个小版本,三年更新一个LTS版本,所以java 17是下一个LTS版本。
  2. 最显著的改善是几乎免费获得的性能提升。java 8默认GC是Parallel GC,java 9 之后默认是G1 GC,且就算是同一个GC,新版本中的表现也会比旧版本性能好,我们的程序触发full GC的次数和GC造成的程序暂停会更短。关于这一点,有一篇文章分析了性能How much faster is Java 17?。除此之外,每一个新的Java版本,尤其是LTS版本,都包含改进,例如解决安全漏洞、改进性能和添加新功能。让java保持最新有助于项目的健壮性和安全性。开发人员通常也更想在日常工作中使用新技术。
  3. oracleJdk在11版本之后商用是需要付费的,17这个版本又改回了商用免费,openJdk和oracleJdk之间又可以自由选择了
  4. spring刚刚官宣2022年即将发布的spring framework 6.0和springboot 3.0版本最低要求java 17,且kafka 3.0版本之后也会弃用java 8,升级已经是一个趋势,未来更多框架和中间件会弃用java 8,作为开发人员也不能停止脚步

升级的注意事项

人们在java 8这个版本不愿意升级,除了怕影响项目稳定性,还有就是java 9之后的发布频率太快,但在多了解一点java 9之后的更新策略后就会知道非LTS版本是不需要升级,也不建议升级的,只有每隔三年发布的LTS版本才有必要升级(另外java 17之后oracle有个提议改动LTS版本发布频

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值