Java開發(fā)者對甲骨文摒棄私有API的計劃表示不滿
譯文甲骨文公司的計劃是阻止用戶訪問sun.Misc.unsafe以解決安全問題,但卻激起開發(fā)人員的嚴(yán)重抗議。
作為Java項目的主要支持者,甲骨文公司意欲在即將發(fā)布的Java Standard Edition 9當(dāng)中徹底斷絕用戶對私有API功能的訪問——特別是sun.Misc.unsafe。
雖然屬于未受到官方支持的API,但sun.Misc.unsafe能夠為使用者帶來巨大幫助,包括訪問本地內(nèi)存、消除Java堆局限性,Hazelcast公司CEO Greg Luck在上周五接受采訪時指出。Hazelcast公司將該API引入到了自家內(nèi)存內(nèi)數(shù)據(jù)平臺當(dāng)中,旨在開發(fā)并管理大規(guī)模數(shù)據(jù)緩存,其同時也是Java Community Proecss項目的參與方之一。
“基本上,實際情況是已經(jīng)有成百上千家企業(yè)目前在利用這一私有API通過Java實現(xiàn)日常業(yè)務(wù),”Luck表示。
甲骨文公司已經(jīng)提出了Java模塊化構(gòu)想,并打算借此阻止用戶繼續(xù)訪問該API。支持者們認(rèn)為,該API無論如何不該被繼續(xù)使用,因為其始終未能成為Java項目當(dāng)中的標(biāo)準(zhǔn)化組成部分,Luck進一步解釋道。該API有可能給JVM帶來潛在的穩(wěn)定性問題,并導(dǎo)致數(shù)據(jù)損壞;只有專業(yè)開發(fā)人員才有能力對其妥善加以使用,Luck指出。
項目工作組給出的建議是將該API的安全部分納入標(biāo)準(zhǔn),而將不安全部分直接淘汰。Hazelcast公司目前也參與了這項計劃,其它參與廠商還包括Azul Systems等等。不過根據(jù)Luck的說法,甲骨文方面并不打算聽取這一建議。“如果他們直接將其清除,那么也相當(dāng)于扼殺了一系列以其為運行基礎(chǔ)的基礎(chǔ)設(shè)施軟件產(chǎn)品,”Luck表示。Java性能監(jiān)控方案供應(yīng)商DripStat公司甚至在博文當(dāng)中提到,在Java 9當(dāng)中移除sun.Misc.unsafe就是“一場災(zāi)難”,有可能“徹底摧毀圍繞Java建立起來的整個生態(tài)系統(tǒng)。”上周五,當(dāng)我們就該私有API的清退事宜邀請甲骨文作出評論時,對方表示拒絕。
解決這一問題的選項之一在于繼續(xù)堅持使用Java 8,也就是目前尚未進行更新的版本,Luck指出。Java 9要到2016年才會正式推出,不過屆時用戶們可能會發(fā)現(xiàn)自己所使用的產(chǎn)品已經(jīng)陳舊落后、無法在該平臺的新版本上得到支持。
原文標(biāo)題:Java devs abhor Oracle’s plan to kill private APIs