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