Java 9及更高版本:“从长远来看,模块是一个很大的功能”

您如何看待模块化生态系统?

Stephen Colebourne: Java平台模块系统(JPMS)并不完美,但是已经达到了值得发布的地步。 大多数开发人员可以继续使用类路径,并且不受模块更改的影响。 狡猾的反思实践将是主要问题,必须解决一些库升级问题。 我很高兴看到模块系统的工作即将结束,因为我个人认为还有其他一些大型语言挑战被推迟了太长时间。

JAXenter:这项主要的新功能早就该发布了,但是现在终于要实现了,它将如何影响现有和新的代码库?

Stephen Colebourne:在这两种情况下,除非他们的依赖关系至少部分模块化,否则开发人员几乎无能为力。 虽然自动模块理论上允许立即使用模块系统,但实际上最好等到依赖项模块化为止。 对于新的代码库,重要的是要制定模块化计划。 将代码结构化为Maven风格的项目,并确保两个模块中都没有软件包。 这将为以后添加module-info.java文件的方式做准备。

将Jigsaw应用于成熟的代码库可能会非常困难。

您觉得哪些功能特别有挑战性?

Stephen Colebourne:将Jigsaw应用于成熟的代码库可能会非常困难。 这可能极富挑战性,以至于不值得去做。 从长远来看,模块是一个很大的功能。

JAXenter:您能否举一些例子说明模块如何改善Java 9体验?

Stephen Colebourne:如果您可以使用将代码模块化和所有依赖项模块化的系统,那么您的代码将在稳定性和封装性方面迈出一大步。 20年后,JVM将真正了解jar文件(模块)的边界并尊重/强制执行。 这是一种“强硬的爱”,但会带来更好的解决方案。

你最喜欢哪个?

Stephen Colebourne:接口上的私有方法。 向接口添加静态和默认方法的能力确实改变了我设计API的方式。 拥有私有方法将进一步帮助您。 但是,我确实鼓励人们现在总是在接口上编写“ public static”,“ public abstract”或“ public default”以提高清晰度。

在尝试Java 9时,您个人遇到了哪些问题?如何解决该问题?

史蒂芬·科尔本(Stephen Colebourne):我尝试了一些非常早期的版本,但很多都不起作用。 我最近没有遇到任何重大问题。

拼图呢?

Stephen Colebourne:大多数现有的Java代码将继续在Java 9上运行。类路径仍然存在。 模块是可选的。 而且我认为,大多数应用程序开发人员应该忽略模块系统,直到它们的依赖关系至少已部分模块化为止。 因此,关键的误解是一切都会突然失败,而实际上这不会比许多其他Java版本升级差很多。

为什么开发人员应该选择JBoss Modules和OSGi的Jigsaw?

Stephen Colebourne: Java平台模块系统与OSGi并没有太多的共同点。 OSGi模块系统最适合用于动态模块,即。 一个生态系统,在JVM的生存期内,模块可以出现和消失。 它还可以处理复杂的情况,例如同时在内存中存储同一个jar的两个版本。 大多数系统不需要这些复杂性,并且平台模块系统不会走那么远是一个好习惯。 我没有使用过JBoss模块,所以我无法发表评论。

关键的误解(关于Java 9)是,一切都会突然失败,而事实上这并不会比许多其他Java版本升级差很多。

JAXenter:您想在Java 10中看到什么?

Stephen Colebourne:我希望Java 10的发布速度比Java 9快得多。因此,我希望它包含的更改更少。 我期待在将来的版本(不是Java 10)中开发的数据类扩展到开发人员今天使用POJO / bean的用例。 对于Java来说,这将是一个巨大的有益变化。

JAXenter:与会者将从您的

Stephen Colebourne:我的Java SE 9 Modules演讲解释了Module系统的设计,以及如何在指出陷阱的同时对自己的代码进行模块化。 我总是发现,“陷阱”是最有趣的部分,对于与会者来说也是最有用的。

Stephen Colebourne将在伦敦JAX上发表一个演讲,该演讲的重点是Java平台模块系统的基础及其含义,特别是对反思的影响。

要了解有关Java 9和模块化的更多信息,请下载最新一期的《 JAX Magazine》:

当您听到Java一词时,您会想到什么? 区块链,DevOps和微服务怎么样? 如果您想了解新兴技术或更深入地研究您已经熟悉的主题(我正在向您介绍Java 9),那么有什么比直接参考源代码更好的方法呢?

打开杂志,让专家(全部14个人)为您提供信息。


翻译自: https://jaxenter.com/java-9-jigsaw-interview-colebourne-136795.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值