Java SE 9终于来了 。 它提供了150多种新功能,其中包括新的模块系统和相当多的改进,这些改进有望带来更高的安全性,更多的可伸缩性和更好的性能管理。

该发行版的明星当然是Java平台模块系统,也称为Project Jigsaw。 其目标是帮助开发人员可靠地组装和维护复杂的应用程序。 此外,开发人员只能捆绑在部署到云时运行应用程序所需的JDK部分,因此可以说模块系统也使JDK本身更加灵活。

如果您不想立即进入模块化生态系统,则应该知道可以在不使用模块的情况下开始使用JDK 9。 正如Oracle公司Java平台事业部开发副总裁Georges Saab在几个月前告诉我们的那样 ,“类路径仍在起作用,这就是许多开发人员可能会开始使用JDK 9的原因。”

我们与Azul Systems的副CTO Simon Ritter和JAX London的发言人进行了交谈,讨论了他在Java 9中最喜欢的功能,未包括的功能,Project Jigsaw,新版本编号方案等等。

您最喜欢的功能是什么?为什么?

西蒙·里特:我实际上有一对。 首先是可搜索的API文档-最后! 第二个是新的SpinWaitHints功能(JEP 285)。 我之所以喜欢它,是因为它是Azul提出的,并且是第一个被Oracle外部接受的JEP。 这表明“ JDK增强提案”流程可以征求外界的支持。

JAXenter:是否有您希望在Java 9中看到但未包含的功能?

Simon Ritter:否。我认为功能部件很全面,模块化是要包含的一大功能。 随着JDK六个月的新发布周期,开发人员将可以更快地访问功能,从而使Java平台保持最新状态并与现代应用程序开发相关。 作为一个使用二十多年的平台(我一直在使用它),我对它的功能非常满意。

Azul提出了新的SpinWaitHints功能(JEP 285),它是第一个被Oracle外部接受的JEP。

您是否将开始使用或不使用模块?

Simon Ritter:模块系统是一项艰巨的任务,需要进行许多更改,而这些更改在开发代码时并不十分明显。 开发团队对Java社区反馈的响应确实有助于简化将应用程序迁移到JDK 9的路径。

他们引入了许多命令行标志,这些标志使应用程序迁移更加简单。 我已经在使用模块,以便我有使用它们的真实经验,并能够在谈论JDK 9时与开发人员分享。

相反,它成为Java 9的主要功能-值得等待吗?

里特:当然! 对于像模块化这样复杂的事情,绝对最好确保它是正确的,而不是试图过早发布它。

您认为更改它是个好主意吗?

里特:我认为新的编号方案是完全合乎逻辑的,它将使用户清楚他们正在使用哪个Java版本。 由于仅查看主版本号,某些软件可能会出现问题,但这应该很容易解决。

这意味着什么,用户为什么要走专有路线?

Ritter:这使Java真正与开源项目的思想保持一致。 以前,Oracle二进制文件中包含非开放源代码功能导致对许可和支持的困惑。

实际上,将来,Oracle JDK二进制文件和OpenJDK二进制文件之间的唯一区别在于,Oracle二进制文件将是具有三年公共更新的长期支持(LTS)版本,而不是直到下一个版本。 消除内部版本差异的部分工作是Java Flight Recorder和Mission Control的开源。 Java社区已经很好地接受了这一点。

JAXenter:Java 9对开发人员是否像Java 8一样有趣?

里特:不是。 JDK 8包含了语言和API的更大功能,特别是Lambda表达式和Streams。 这为Java引入了以前所没有的一种函数式编程风格,这对开发人员来说是令人兴奋的。 JDK 9对开发人员没有太大的功能,它与通过模块化更改运行时有关。

西蒙·里特(Simon Ritter)将在伦敦的JAX上发表演讲,该演讲将回顾lambda背后的思想,然后深入探讨使用它们的性能含义,并探讨在匿名内部类中使用invokedynamic而不是简单的语法糖。

  • Lambdas:是Java Jim,但不是我们所知道的

翻译自: https://jaxenter.com/simon-ritter-interview-jdk-9-137786.html