為什麼 JDK 9 在生產環境中很少被採用?
來自:開源中國社群
連結:www.oschina.net/news/91166/who-will-use-jdk-9
參考:https://www.azul.com/who-will-use-jdk-9/
你有遷移到 JDK 9 的計劃嗎,是怎麼樣的?你已經在生產環境中使用 JDK 9 了嗎,或者只是在觀望中?這篇文章將介紹幾個 JDK 9 在生產環境中很少被採用的關鍵原因。
距離 JDK 9 的釋出已過去了幾個月,“將應用程式遷移到 JDK 9”這個話題相信在很長一段時間內都會備受開發者的關注和討論。事實證明,即使不使用任何內部 API(比如“臭名昭著”的 sun.misc.Unsafe 類),也可能會導致應用程式不能在 JDK 9 上啟動。
針對這些有關“遷移”的問題,下面介紹一個以“你遷移到 JDK 9 的計劃是什麼”為主題的民意調查結果,以瞭解開發者將應用程式移植到 JDK 9 過程中所處的階段。調查有兩次,分別是面向 EMEA 和美洲的開發者。
對於“你遷移到 JDK 9 的計劃是什麼”主題的調查包含了以下的選擇:
-
已在生產環境中使用 JDK 9
-
正在遷移到 JDK 9
-
正在觀望中
-
等待下一個長期支援版的釋出
-
還在使用 JDK 6
具體的調查資料如下:
來自 EMEA (歐洲、中東、非洲三地區的合稱)開發者的調查結果
來自美洲開發者的調查結果
綜合結果
可以看到,“正在觀望中”的開發者佔了大多數,而使用舊版本的朋友仍有不少,但意外的是,使用 JDK 9 的使用者居然一個都沒有。雖然這次調查的樣本量可能不夠大,但我們相信這確實是比較貼近現實的。
下面說說 JDK 9 很少在生產環境中被採用的原因:
-
應用程式從 JDK 8 或更早版本遷移至 JDK 9 出現的不相容變更情況的數量。儘管已經從標準 API 中移除的六種方法不會影響很多人,但是像停止 JVM 啟動的命令列選項的數量將是一個障礙。
-
內部 JDK API 封裝的影響。同樣,直接受此影響的開發者數量也不會很大,但間接受到影響的開發者數量則很多。因為大多數開發者在開發應用程式時使用了第三方庫和框架,有很多這樣的庫和框架使用封裝的 API。雖然大部分已經過測試並提供專門針對 JDK 9 的版本,但仍然有很多還沒這樣做。對於沒有得到積極維護的庫或框架來說,這無疑是一個會阻礙遷移至 JDK 9 的問題。
-
受支援的壽命週期。甲骨文最近宣佈將加快 JDK 的釋出頻率,改為每六個月釋出一次。按照改進的釋出計劃,JDK 9 不是長期支援版本。在這個新方案下,JDK 9 將是以 JDK 8 為基礎的第一個“功能”版本。而且由於公共的更新,開發者在決定要部署的 Java 版本時,需要記住一些東西。長期支援版本的更新將至少提供三年,而 JDK 8 的受支援週期更像是四年半。這些版本適用於喜歡穩定的企業,使其能夠在單個版本上執行大型的應用程式。
大多數開發者都表示,他們將繼續在生產環境中使用 JDK 8,至少直到下一個 LTS 版釋出。
根據甲骨文展示的計劃,在 LTS 版本之間進行轉換對開發者來說頗具挑戰性。
當 JDK 11 釋出時,它將包含可能影響應用程式相容性的新功能,而且由於 JDK 8 將不再有公共更新,使用者面臨的只有兩種選擇:
-
要麼選擇支付以獲得商業支援
-
要麼直接遷移到新的 LTS 版本,並祈求他們的應用程式不會有所破壞並需要進行實質性變更才能正常執行。
●本文編號2805,以後想閱讀這篇文章直接輸入2805即可
●輸入m獲取文章目錄
推薦↓↓↓
大資料與人工智慧
涵蓋:程式人生、演算法與資料結構、黑客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。