騰訊牛逼!終于開(kāi)源了自家的 Tencent JDK——Kona!!

Java技術(shù)棧
www.javastack.cn
關(guān)注閱讀更多優(yōu)質(zhì)文章
是的,繼阿里 2019/03 開(kāi)源基于 OpenJDK 的長(zhǎng)期支持版本 Alibaba Dragonwell 之后,騰訊也發(fā)布了自家的開(kāi)源免費(fèi)的 JDK 版本——Tencent Kona,必須替小馬哥宣傳一波。
看了下 Github 騰訊開(kāi)源版 JDK 的發(fā)布記錄:

最早是在 2019/11/04 這天發(fā)布的 Tencent Kona ?v8.0.0 版本,沒(méi)錯(cuò),最近棧長(zhǎng)村里通網(wǎng)了,最近才知道騰訊自家版 JDK 這個(gè)東東,不辦法,我是村網(wǎng)通,我為我自己帶鹽。
Tencent Kona 8
Tencent Kona 是騰訊開(kāi)源的、免費(fèi)的、基于 OpenJDK 的發(fā)行版本,并且受騰訊長(zhǎng)期支持(LTS)和季度更新,目前由騰訊專(zhuān)業(yè)的 JVM 技術(shù)團(tuán)隊(duì)進(jìn)行維護(hù)和開(kāi)發(fā)。
開(kāi)源地址:
https://github.com/Tencent/TencentKona-8
在騰訊內(nèi)部,Kona 就是默認(rèn)使用的 JDK,主要應(yīng)用于騰訊云業(yè)務(wù)場(chǎng)景及其他 Java 應(yīng)用場(chǎng)景,并且針對(duì)超大規(guī)模的大數(shù)據(jù)、機(jī)器學(xué)習(xí)和云計(jì)算進(jìn)行了深度優(yōu)化。
另外,Kona 還為那些想用 OpenJDK 的客戶(hù)和合作伙伴提供一個(gè)基于 OpenJDK 的構(gòu)建、長(zhǎng)期維護(hù)支持的騰訊版 OpenJDK 版本。
為什么是 Tencent Kona 8?
因?yàn)轵v訊 Kona-8 是基于 OpenJDK 8 開(kāi)發(fā)的,所以叫 Kona-8,8 這個(gè)數(shù)字是跟 OpenJDK 的版本走的。
Tencent Kona 當(dāng)前只支持 Linux/x86_64 平臺(tái),現(xiàn)在絕大部分企業(yè)系統(tǒng)應(yīng)用都運(yùn)行在這個(gè)平臺(tái),不是面向基礎(chǔ)用戶(hù),所以沒(méi)有必要再開(kāi)發(fā) Windows 這種沒(méi)有意義的多余的維護(hù)成本。
Tencent Kona 8 擴(kuò)展特性
騰訊 Kona 基于 OpenJDK 提供了許多的擴(kuò)展功能及維護(hù)特性,通過(guò)騰訊 Kona 可以獲得更為先進(jìn)的功能及性能優(yōu)化,進(jìn)而提高用戶(hù)和開(kāi)發(fā)者的使用體驗(yàn)。
Tencent Kona 8 主要支持以下兩個(gè)特性:
1)Default CDS Archive
這個(gè)特性用于提高 JVM 的啟動(dòng)速度, 默認(rèn)為打開(kāi)狀態(tài),可以通過(guò)以下命令啟動(dòng)打開(kāi)/關(guān)閉該特性:
java?-Xshare:off?
2)Java Flight Recorder(JFR)
這個(gè)特性用于采集 Java 應(yīng)用程序的診斷信息,默認(rèn)為關(guān)閉狀態(tài)。
啟動(dòng)的時(shí)候可以通過(guò)以下命令啟用 JFR:
java?-XX:+FlightRecorder
應(yīng)用程序運(yùn)行時(shí),使用以下命令采集 JFR 數(shù)據(jù):
jcmd??JFR.start?name=?filename=.jfr?
使用以下命令停止 JFR 采集數(shù)據(jù):
jcmd??JFR.stop
JFR 數(shù)據(jù)處理可以使用 java mission control (jmc) 7.0以上版本打開(kāi)*.jfr文件,更多可以參考 Oracle 的 JFR 官方文檔。
Tencent Kona 8 安裝
下載最新的騰訊 Kona 二進(jìn)制文件,地址:
https://github.com/Tencent/TencentKona-8/releases
cd?/usr/local/
tar?-xvf?TencentKona8.0.3.b2_jdk_linux-x86_64_8u262.tar.gz
export?JAVA_HOME=/user/local/TencentKona8
export?PATH=${JAVA_HOME}/bin:$PATH
export?CLASSPATH=.:${JAVA_HOME}/lib
和官方命令一樣用 java -version 查看版本:
bash#>?java?-version
openjdk?version?"1.8.0_262"
OpenJDK?Runtime?Environment?(Tencent?Kona?8.0.3)?(build?1.8.0_262-18)
OpenJDK?64-Bit?Server?VM?(Tencent?Kona?8.0.3)?(build?25.262-b18,?mixed?mode,?sharing)
為什么大廠都搞定制 JDK?
大家都知道,JDK 8 是現(xiàn)在的絕對(duì)主流應(yīng)用版本(關(guān)注公眾號(hào)Java技術(shù)棧回復(fù):java,可以獲取 8 系列實(shí)戰(zhàn)教程),但 Oracle 作死啊,JDK 8 在 2019/01之后就被宣布停止更新了,另外, JDK 11 及以后的版本也不再提供免費(fèi)的長(zhǎng)期支持(LTS)。
Oracle JDK 的收費(fèi),從網(wǎng)上就可以看到很多用戶(hù)抱怨不止,畢竟 Oracle JDK 收費(fèi)版的支持維護(hù)費(fèi)用不是一般企業(yè)和個(gè)人能負(fù)擔(dān)得起的,很多企業(yè)和個(gè)人開(kāi)發(fā)者也從而轉(zhuǎn)向其他的免費(fèi)開(kāi)源 JDK 版本。
大廠一方面是有錢(qián)、有精力、有技術(shù)實(shí)力,另一方面 Oracle JDK 也不一定符合咱們互聯(lián)網(wǎng)大廠的性能要求,如果把收費(fèi)的錢(qián)用來(lái)搞自研,不用受制于人,不是更香?所以,為什么大廠都搞定制 JDK 也就不奇怪了。
可以看到的趨勢(shì),未來(lái)將會(huì)有越來(lái)越多的企業(yè)和 Java 開(kāi)發(fā)者進(jìn)而放棄 Oracle JDK,轉(zhuǎn)而使用 OpenJDK 或者其他開(kāi)源復(fù)本,又或者基于 OpenJDK 進(jìn)行自家定制,當(dāng)然這得有技術(shù)實(shí)力、有錢(qián)的大廠才行。
隨著各大廠都推出自家的 JDK,Oracle JDK 的收費(fèi)之路還能走多遠(yuǎn)?
最后,你們用的哪個(gè) JDK 版本呢?歡迎留言討論分享~
如果有幫助,點(diǎn)個(gè)在看鼓勵(lì)一下哦!也歡迎分享轉(zhuǎn)發(fā)給更多有需要的朋友~
版權(quán)申明:本文系公眾號(hào) "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請(qǐng)注明出處,禁止抄襲、洗稿,請(qǐng)自重,尊重他人勞動(dòng)成果和知識(shí)產(chǎn)權(quán)。






關(guān)注Java技術(shù)??锤喔韶?/strong>


