甲骨文公司的计划是阻止用户访问sun.Misc.unsafe以解决安全问题,但却激起开发人员的严重抗议。
作为Java项目的主要支持者,甲骨文公司意欲在即将发布的Java Standard Edition 9当中彻底断绝用户对私有API功能的访问——特别是sun.Misc.unsafe。
虽然属于未受到官方支持的API,但sun.Misc.unsafe能够为使用者带来巨大帮助,包括访问本地内存、消除Java堆局限性,Hazelcast公司CEO Greg Luck在上周五接受采访时指出。Hazelcast公司将该API引入到了自家内存内数据平台当中,旨在开发并管理大规模数据缓存,其同时也是Java Community Proecss项目的参与方之一。
“基本上,实际情况是已经有成百上千家企业目前在利用这一私有API通过Java实现日常业务,”Luck表示。
甲骨文公司已经提出了Java模块化构想,并打算借此阻止用户继续访问该API。支持者们认为,该API无论如何不该被继续使用,因为其始终未能成为Java项目当中的标准化组成部分,Luck进一步解释道。该API有可能给JVM带来潜在的稳定性问题,并导致数据损坏;只有专业开发人员才有能力对其妥善加以使用,Luck指出。
项目工作组给出的建议是将该API的安全部分纳入标准,而将不安全部分直接淘汰。Hazelcast公司目前也参与了这项计划,其它参与厂商还包括Azul Systems等等。不过根据Luck的说法,甲骨文方面并不打算听取这一建议。“如果他们直接将其清除,那么也相当于扼杀了一系列以其为运行基础的基础设施软件产品,”Luck表示。Java性能监控方案供应商DripStat公司甚至在博文当中提到,在Java 9当中移除sun.Misc.unsafe就是“一场灾难”,有可能“彻底摧毁围绕Java建立起来的整个生态系统。”上周五,当我们就该私有API的清退事宜邀请甲骨文作出评论时,对方表示拒绝。
解决这一问题的选项之一在于继续坚持使用Java 8,也就是目前尚未进行更新的版本,Luck指出。Java 9要到2016年才会正式推出,不过届时用户们可能会发现自己所使用的产品已经陈旧落后、无法在该平台的新版本上得到支持。
原文标题:Java devs abhor Oracle’s plan to kill private APIs