阿里開源OpenJDK長期支持版本Alibaba Dragonwell簡介及部署

一、簡介:

        321日北京阿里雲峯會,阿里巴巴正式宣佈對外開源OpenJDK長期支持版本Alibaba Dragonwell。作爲Java全球管理組織Java Community ProcessJCP)的最高執行委員會的唯一中國代表,以及Oracle之外的Java生態中爲數不多的OpenJDK定製者,Alibaba Dragonwell的開源是阿里巴巴向全球Java開發者的重磅獻禮。

    阿里巴巴有着最豐富的Java應用場景,覆蓋電商、金融、物流等衆多領域,是世界上最大的Java用戶之一。作爲OpenJDK的下游,Alibaba Dragonwell是阿里巴巴內部OpenJDK定製版AJDK的開源版本,AJDK爲在線電商、金融、物流做了結合業務場景的優化,運行在超大規模的、100000+服務器的阿里巴巴數據中心。Alibaba DragonwellJava SE標準兼容,目前僅支持Linux/x86_64平臺。Alibaba DragonwellOpenJDK的下游(friendly fork),使用了和OpenJDK一樣的licensing。阿里會更緊密地和OpenJDK等開源社區協作,貢獻更多的patches,促進Java技術的持續發展。

image.png


二、特性:

1、垃圾回收:使用CMS (-XX:+UseConcMarkSweep) 作爲默認GC策略。

2、JFRJava Flight Recorder):

(1)JDK11backport到了Dragonwell-8版本中。

(2)添加了EnbleJFR命令行選項,默認關閉,用於徹底隔離JFR相關邏輯,只有添加-XX:+EnableJFRJVM命令行纔可以使用JFR特性。

3、Serviceability支持:

(1)jmapdump子命令支持“mini”選項,可以在做heapdump時忽略掉原始類型數組的內容,詳情請參考jmap工具的幫助信息。

(2)增加參數PrintYoungGenHistoAfterParNewGC用於打印一次ParNew GC之後young區對象的histogram。該參數可以用jinfo動態打開。

(3)增加參數PrintGCRootsTraceTime用於打印一次ParNew GC的具體耗時,主要用於排查長的ygc問題。該參數可以用jinfo動態打開關閉。

(4)增加了參數ArrayAllocationWarningSize,默認值爲512M。當分配的對象大小超過該值的時候,標準輸出裏會顯示分配的堆棧。該參數可以通過jinfo動態修改。

4、JWarmUp

(1)增加參數CompilationWarmUpRecording啓用JWarmUp的記錄模式,在指定的時間後,JVM會生成JWarmUp profile,包含JVM中的已加載類及熱點方法。

(2)增加參數CompilationWarmUp啓用JWarmUp的預熱編譯模式,根據指定的JWarmUp profile加載之前記錄的熱點方法,通過API可以通知JVM預熱編譯熱點方法。

(3)JDK中提供com.alibaba.jwarmup.JWarmUp類,應用可以使用該JAVA API控制JWarmUp,例如通知JVM開始WarmUp編譯,檢查編譯情況,通知JVM退優化預熱編譯的方法。

 

三、安裝Alibaba Dragonwell

1、下載軟件包:

下載地址:https://github.com/alibaba/dragonwell8/releases

下載版本:Alibaba_Dragonwell8_Linux_x64_8.0-preview.tar.gz

2、解壓軟件包:# tar -xf Alibaba_Dragonwell8_Linux_x64_8.0-preview.tar.gz -C /usr/local

image.png

備註:解壓後生成的目錄名爲j2sdk-image

3、配置環境變量:

# vim /etc/profile.d/jdk.sh

export JAVA_HOME=/usr/local/j2sdk-image

export PATH=$JAVA_HOME/bin:$PATH

# . /etc/profile.d/jdk.sh

4、查看JAVA版本:# java -version

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章