Oracle宣布要向OpenJDK貢獻(xiàn)多語言通用虛擬機(jī)GraalVM社群版Java程序代碼,使得GraalVM技術(shù)開發(fā)能夠與Java開發(fā)更加一致,官方提到,這將能夠消除現(xiàn)有GraalVM廣泛采用,以及參與GraalVM技術(shù)開發(fā)的障礙,包括兩者發(fā)布時(shí)間表、功能和開發(fā)過程的差異。
Oracle具體貢獻(xiàn)部分是GraalVM JIT編譯器和原生鏡像文件(Native Image),目前并不打算提供Python、Ruby、R和JavaScript等其他多語言技術(shù),Oracle計(jì)劃根據(jù)OpenJDK社群工作流程,將合適的GraalVM技術(shù)貢獻(xiàn)到一個(gè)或是多個(gè)OpenJDK項(xiàng)目中。
Oracle會(huì)貢獻(xiàn)目前正在開發(fā)中的GraalVM技術(shù),當(dāng)GraalVM技術(shù)準(zhǔn)備好成為JDK主分支版本的一部分時(shí),便會(huì)提交JEP(JDK Enhancement Proposal)。JEP計(jì)劃程序?qū)φ麄€(gè)Java生態(tài)系統(tǒng)的JDK開發(fā)提供了一致的透明度,任何要用于JDK主分支的功能都會(huì)經(jīng)過JEP流程,因此官方提到,當(dāng)GraalVM技術(shù)準(zhǔn)備好被提議整合到主分支JDK源碼時(shí),就會(huì)提交一個(gè)或是多個(gè)JEP。
Oracle的計(jì)劃是要讓GraalVM技術(shù)和Java,在發(fā)布和授權(quán)方面保持一致,而在發(fā)布模型上,每個(gè)GraalVM發(fā)布版本都會(huì)支持一個(gè)Java SE平臺(tái)規(guī)范,每年會(huì)有兩次功能發(fā)布,每年四次重要修補(bǔ)程序更新,且每?jī)赡陼?huì)發(fā)布一次長(zhǎng)期支持版本。
在原生鏡像文件的貢獻(xiàn)上,Oracle會(huì)將最適用的部分貢獻(xiàn)給OpenJDK,之后原生鏡像文件便會(huì)在OpenJDK項(xiàng)目范圍下開發(fā),使用和其他OpenJDK開發(fā)相同的工作流程和方法。