azul zing
这是我们接受Azul Systems首席技术官Gil Tene采访的第二部分。 第一部分在这里可用。
JAX:您显然是Java社区流程的一部分,尤其是您在2011年11月投票支持的执行委员会。这样做的主要推动力是什么,您希望从中实现什么?
Gil Tene:Azul可以呼吸Java。 我们构建可扩展的JVM。 我们已经成为JCP的成员已有9年了,但是大部分时间我们都得到了部分好评。 其他人都做了很多工作,我们从中受益。
我认为我们决定更加积极的决定是由一些因素驱动的。 其中之一是在JCP中有两种不同的情况造成僵局。 第一个关于许可的争论以及是否允许Apache和Harmony使用TCK。 不管您处于讨论的哪个方面,讨论本身都会在JCP中冻结活动,因为单件事促使平台和JSR投票,原因是“在解决之前,我不会投票赞成”。 可悲的是,这使进程停滞了。
另一件事是,随着Oracle对Sun的收购,整个行业的每个人都对动机产生了怀疑。 您可能不同意Sun以前如何运行事情,但我认为,从整体上讲,这是Java的中立管家。 人们并不真正担心与Sun竞争,因此不必担心对Java的访问。
当Oracle收购Sun时,突然在您制作软件时,您可能正在与Oracle竞争。 现在,您依赖于竞争对手拥有的技术,每个人都面临着关键问题,即以前存在的开放性和访问性是否会保留。
我们有相同的关注点,也有相同的关注点,但似乎所有信号都表明Oracle正在尝试做正确的事情,并且没有关闭访问权限。 他们没有试图改变生态系统的外观。 但是尝试和寻找与做不一样。 我们决定为此做的是加入JCP执行委员会,并积极参与这一过程。 如果我们不希望JCP成为一个公司的组织和橡皮图章,那意味着除该公司之外的其他人必须积极参与并实际上必须在其中做一些合理的事情。
我们的角色是希望说的是要做什么,并同时密切注意。 在事情发展成问题之前尽早发出谈论的信号。
JAX:您会列举哪些具体示例作为可能的问题?
GT:我认为OpenJDK很棒。 Sun的一个好举动是,Oracle似乎完全支持它。 Java是在开放环境中开发的,并从那里被引入封闭源代码,而不是像以前那样相反。 可以访问,该代码是免费提供的。 您可以利用它,也可以在其下游构建事物。 我相信那里确实存在着所有的善意。 我们打算在将来基于该代码库(而不是封闭源许可证代码库)生产我们的产品。
但是,当您实际研究OpenJDK时,缺少的一件事就是对未来的可见性。 我认为,就使用它,测试它,利用它的能力而言,一切都是正确的。 但是,如果您决定作为公司或个人投入时间和精力为OpenJDK做出贡献,并以此为基础,则可以保证下一年的使用。 但是您绝对无法预测从现在起是三年还是四年。 并不是说这不会被取消,这不是故意的-只是没有保证。
对于OpenJDK尤其如此,在其他地方也是如此,但通常是通过商业协议来处理的。 这是一个非常不舒服的情况,因为如果您要投入精力,您想知道自己还有数年的时间才能获得收益。 您还可以看到,如果要消失的话,您将提前数年而不是下周一知道。
作为JCP规则更改的一部分,我们一直提倡的事情之一是对获得许可证后将保留访问多长时间的了解最小。
JAX:还有其他吗?
GT:有些缺乏高战略性的东西都是程序性的。 JCP正在进入一个更加开放的过程,在JSR中没有秘密讨论。 您知道,通过技术讨论,任何JCP成员至少都应该不仅能够看到讨论的结果,而且还可以看到其背后的流程逻辑,并且可以在他们愿意的情况下成为对话的一部分。 或至少能够批评它。 这一变化已经发生,这是一个可喜的变化。
但是开放并不一定意味着开源。 我是开源的大力支持者,但不应强加于任何人。 我不认为您应该强迫开放源代码许可,而不必强迫封闭源代码许可。JCP的作用是确保我们有能力构建标准的实现。 兼容兼容的实现方式不会分散平台。 对我而言,这些目标是–无论这些实现是开放的还是封闭的,免费的还是收费的,都应该有多个实现并使它们公开竞争。 并可能最好的竞争。
JAX:继续关注最近的新闻– Jigsaw项目不会在Java 8中出现。您对此有何看法?是否应该推迟?
GT:很遗憾看到这种情况发生,因为我认为这是非常有用的事情,它将有助于释放社区中的许多生产力。 但我也认为,鉴于项目的进度和状态,这可能是正确的选择。 我认为开始可靠地按时交付Java版本比在其中包含功能更为重要。 Java 7花费了太长时间,更重要的是,它侵蚀了公众对迁移的期望。
考虑它的正确方法是应该在明年下半年某个时间发布Java版本,即Java 7之后的版本。 那不应该延迟。 应该在可以容纳这些功能的发行版中放置功能。 拼图不是Java 8、9或10的功能-它是我们想要的功能,应该获得一个我们可以使用的版本。
话虽这么说,在这里担任JCP职位,Java 8达到截止日期所需要做的事情之一就是Java 8 JSR需要在最终草案上取得进展。 Java TCK必须以一种我们可以检查并提供反馈的形式提供,因为如果我们希望在夏天发布Java 8的GA,则必须提前批准JSR。 我认为您可以在OpenJDK上看到与此相关的良好进展,但是我希望看到更多活跃的JSR活动,包括讨论和某种反馈周期,而不是“我们已经在OpenJDK中完成了所有这些工作,现在我们只需要批准。”
JAX:Azul Systems的计划是什么–如果您可以在那泄露任何信息?
GT:我们最近完成了从以硬件为中心的商业模式到仅软件的过渡。 最终Zing主要成为Linux x86商用服务器的本地JVM。 我们不打算在不久的将来进行类似的尺寸调整! 我们认为这为我们的产品打开了前所未有的巨大市场。 我们的计划是在大多数情况下继续交付并发展到这些市场。
在技术层面上,多年来我们一直在提供各种级别的无休止GC活动,现在我们将它们以更易于使用的形式提供。 我们一直在改进低延迟区域中的指标,因为对于具有人工响应时间的企业应用程序而言,Zing实际上消除了垃圾收集,这是您甚至应该考虑的事情。 但是,如果您处于低延迟/高频交易市场中,那么仍有很多事情要做。 我们可能比其他任何地方都要好得多,但是我们仍然可以改进。 我相信我们可以达到应用程序可见的20 微秒垃圾回收延迟的最坏情况。 Zing远不及此。 可靠地处于亚毫秒级别。 但是我们可以走得更远,我们可以这样做。
从产品的角度来看,这是为了交付我们已经拥有的并在此基础上进行改进。 目前,Zing是Java 6 JVM,我们将很快提供Java 7版本。
翻译自: https://jaxenter.com/talking-java-with-gil-tene-azul-systems-104818.html
azul zing