java 移植性 兼容性等_Java 14 –“回归和兼容性测试至关重要”

java 移植性 兼容性等

JAXenter:您认为Java 14中最重要的新功能是什么?

我的建议是首先投入到LTS版本。

马库斯·冈瑟 (MarkusGünther) 我个人的重点是介绍唱片概念(JEP 359)。 记录仍然是Java 14中的预览功能,您必须显式激活该功能才能使用它。 但是它们在逻辑上适合已建立的Java类型系统,并具有巨大的潜力。 在当前版本中,这意味着您不再需要为简单的数据保留类编写过多的样板代码。 相反,您可以以记录的形式封装所有相关属性,并让编译器生成有用的默认构造函数,用于读取和写入属性的访问方法,用于equals和hashCode的协定等。

乍一看,您可以看到记录为进一步有趣的功能铺平了道路:例如,记录可以以解构模式的形式与模式匹配( JEP草稿:开关的模式匹配(预览) )完美配合。 记录绝对是一个值得关注的概念。

还请参见:

JAXenter:您认为Java 14中缺少什么功能?

MarkusGünther:这与Java 14没有明确的关系,但是我仍然错过了将局部变量声明为val不可变的可能性(自Java 10开始,可变变量类似于var )。

JAXenter:您的客户会立即更新吗?还是不值得?

一段时间以来,一直存在使用其他编程语言中的优良特性的趋势。

MarkusGünther:我的客户大部分仍在使用Java8。有时,即使是在为未开发项目选择技术时,我也会注意到这一点:有些抓住机遇并改用Java 11,另一些继续使用Java 8。 在后一组中,通常在进行应用程序设计时不会考虑将来的迁移(例如,使用JPMS进行模块化)。 对于基于Java 8且具有整体结构的较旧系统,如果尚未将整体严格划分为功能模块,则迁移并不容易。

必须在某个时候进行这项投资,但据我所知,客户会回避它,特别是在现有项目中。 如果不是这样的话,那么我的建议是首先投入到LTS版本(Java 11),然后(如果成本/收益合理)则适应较短的发布周期。

JAXenter:立即在生产中使用新的Java版本会带来什么困难?

MarkusGünther:即使发布的功能集基于其功能集具有相当进化的特征,但升级后应用程序的行为在生产环境中可能会有所不同。 因此,升级期间有意义的回归和兼容性测试至关重要。

JAXenter:具有“ JEP 358:有用的NullPointerExceptions ”之类的功能,Java是否正在接近像Kotlin这样的“现代”语言?

MarkusGünther:一段时间以来,一直存在使用其他编程语言中的优良特性的趋势。 尤其是Scala表明,对象函数编程模型无疑具有其优势,并且肯定会成为lambda表达式进入Java 8语言的事实的孵化器。

使用Java 14,这种趋势一直在继续-无论灵感来自何处-并通过添加JEP 305(实例匹配的模式匹配(预览),JEP 359(记录),JEP 361(开关表达式)来缩小与其他编程语言的差距。 )和JEP 368(文本块)。

还请参见:

JAXenter:您对Java 15有什么希望/偏好,Java 15将于今年晚些时候发布?

我很高兴看到切换模式匹配的进展。

MarkusGünther:我很高兴看到切换模式匹配的进展,该功能目前仍处于JEP草案状态。 特别是,与Java 14中引入的记录的合理组合会影响我们将来制定Java代码的方式(认为是解构模式)。 但是,就我所希望看到的那样,对于Java 15来说,此功能的可用性是相当不现实的,Java 15将于今年晚些时候发布。

JAXenter:总的来说,您对六个月的发布周期中Java的加速有何看法?

MarkusGünther:我很伤心。 一方面,加速的发布周期可以及时发布重要功能。 这给了我们使用充满活力的现代语言的感觉,对此我们深表感谢。 另一方面,我一直注意到非LTS版本通常不发挥重要作用。

翻译自: https://jaxenter.com/java-14-interview-guenther-170133.html

java 移植性 兼容性等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值