根据此前开源中国发起的一项关于开发者使用的Java版本的调查

电脑杂谈  发布时间:2019-04-30 10:11:35  来源:网络整理

linux版本 java开发_linux java版本 命令_java版本

预计Java11的更新补丁(11.0.1, 11.0.2, 11.0.3 等)将比Java8的补丁(8u20, 8u40, 8u60)更小更简单。因为Java11的更新将更加集中在安全补丁上,不会像Java8的更新那样带来内部的功能增强。Oracle希望将Java12, 13, 14等这些版本当做是小更新版本,类比成Java8的话,即是Java11u20, 11u40。

尽管技术变化被认为能减少成本,扩大整个经济的生产能力,但它可能也会对某些特定市场或产业带来破坏性极大的影响。但长孙无忌担心富贵至极会带来灾祸,一再恳请辞去相位,长孙皇后也为之极力劝说。15、男人从不担心自己的未来,直到他找到一个妻子,女人常常担心自己的未来,直到她找到一个丈夫。

下面深入了解一下为什么在旧的发布模式下,升级版本不会导致任何问题。先看一下新旧发布模式之间的差异:

Oracle的官方观点认为:与Java7->8->9相比,Java9->10->11的升级和 8->8u20->8u40更相似。

表格清楚地显示新模式下的Java版本发布都会包含许多变更,包括语言变更和JVM变更,这两者都会对IDE、字节码库和框架产生重大影响。此外,不仅会新增其他API,还会有API被删除(这在Java8之前没有发生过)。

linux版本 java开发_java版本_linux java版本 命令

Oracle的观点是,因为每个版本仅在前一个版本发布后的6个月推出,所以不会有太多新的“东西”,因此升级并不困难。虽然如此,但这不是重点。重要的是升级是否有可能会破坏代码。java版本很明显,从11->12->13开始,代码遭受破坏的可能性要大于8 -> 8u20 -> 8u40。

11->12->13与8u20->8u40等这样的更新主要区别在于对字节码版本的更改以及对规范的更改,对字节码版本的更改往往特别具有破坏性,大多数框架都大量使用与每个字节码版本密切相关的ASM或 ByteBuddy 等库。而8u20 -> 8u40仍然使用相同的JavaSE 规范,具有所有相同的类和方法,不同于从Java12 移动到 13。

除此之外,Oracle的另一个声明也十分值得我们关注。声明透露出的消息是,如果坚持使用Java11并计划在下一个LTS 版本(即Java17)发布时再进行升级,开发者可能会发现自己的项目代码无法通过编译。所以请记住,Java 新的开发规则现在声明可以在一个版本中弃用某个 API 方法,并在下一个版本中删除它。

二、采用新版本Java的注意事项

在本节中,千锋武汉Java培训小编将概述在采用新版本Java之前必须考虑的一些注意事项/风险。

1、被新版本系列“绑定”

linux java版本 命令_java版本_linux版本 java开发

如果采用了Java12并使用新的语言特性或新的API,这意味着实际上你已将项目绑定到Java的新版本系列。接下来你必须采用Java13,14, 15, 16和17,并且必须在下一个版本发布后的一个月内采用每个新版本。

使用了新版本,每个版本的使用寿命为六个月,并且在发布后仅七个月就过时了。这是因为每个版本只有在六个月内提供安全补丁,发布后1个月的第一个补丁和发布后4个月的第二个补丁。7个月后,下一组安全补丁会发布,但旧版本不能获取更新。java版本

因此,你要判断自身的开发流程是否允许升级Java版本,时间窗口方面会不会太狭窄?

2、升级的“绊脚石”

实际使用中有很多阻止我们升级Java的因素,下面千锋武汉Java培训小编列出一些常见的:

开发资源不足:你的团队可能会非常忙碌或规模太小,你能保证两年后从Java15升级到16的开发时间吗?


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-95183-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...