Java體系根深葉茂,家族雖然穩定,但仍暗藏地位不保危機

近期,著名的Java插件公司Jrebel公佈了一份Java開發技術報告(2020 Java Technology Report),該報告重點介紹了開發人員在開發過程中使用的技術。其中包括,Java運行版本、應用程序服務器、運行時平臺、框架技術、框架配置方法、開發工具、JRE / JDK分發、PAAS提供程序、數據庫、部署模型、構建工具和虛擬化工具。報告以數據圖標的形式,展示了行業統計調查的結果,報告反映了Java開發體系呈現相對穩定態勢,技術流派的集中度正在正在加強。

Java技術框架的集中度比較高


Java體系根深葉茂,家族雖然穩定,但仍暗藏地位不保危機

Java主流技術棧

經過多年的發展,Java技術逐漸趨向成熟,各種技術板塊的集中度較高,Java技術體系大勢已定。

  • 按照Java使用版本的佔有率。約有60%的用戶使用Java8,有20%多的人使用Java11。只有6%的受訪者使用Java 12或更新。雖然谷歌在推動kotlin,但是Kotlin使用率只有3%。
  • 服務器的使用上。在Java服務器的使用上,Tomcat 仍然是最熱門的應用服務器,weblogic,jetty的佔有率仍然比較低。
  • 運行時平臺上。在運行時平臺的選擇上,大部分人選擇SpringBoot ,高達82%的用戶選擇使用SpringBoot,可以說,目前SpringBoot佔據絕對優勢。
  • 框架選擇上。框架的選擇上86%的受訪者使用Spring, 在框架上,Spring仍佔據絕對優勢。
  • 註解與配置上。註解多於XML配置,使用XML配置的佔比67.17%。
  • 開發工具上,Intellij IDEA 擊敗 Eclipse。
  • 在數據庫的選擇上,PostgreSQL 和Oracle數據庫更受歡迎,MySQL數據庫在中小企業中,仍佔大多數吧。
  • 構建工具上,Gradle、Maven佔主流。
  • 開發人員使用哪些虛擬化工具?最常用的工具是Docker,佔74%。Kubernetes是第二大最受歡迎的虛擬化工具,佔35%,這顯示了Kubernetes在過去幾年的持續增長。

Java體系根深葉茂,Oracle對Java版本收費,也沒有掀起波浪

由於Java開源,並且有比較高的安全性和穩健性,非常適合企業級別的互聯網開發,長期以來Java語言始終佔據TIOBE編程語言排行榜榜首。2018年4月,Oracle宣佈,“2019年1月之後”,如果沒有獲得Oracel公司的商業許可證,Java SE 8將不會再收到公開更新,也將無法用於“商業或生產用途”,使用了23年的Java將不再免費了。這對擁有眾多擁躉者的Java無異於一顆重磅炸彈。


Java體系根深葉茂,家族雖然穩定,但仍暗藏地位不保危機

Java老了嗎

不過很快就有亞馬遜、阿里巴巴等幾家公司出面宣稱,將繼續支持維護Java的開源版本。

Amazon Corretto 是亞馬遜提供的一個免費的、基於 OpenJDK 的、多平臺的、生產就緒的 JDK 發行版。Amazon Corretto 提供了長期支持,其中包括性能增強和安全修復。亞馬遜在內部數千種生產服務上運行著 Corretto,並且 Corretto 已被證明能夠兼容 Java SE 標準。藉助 Corretto,用戶可以在常用操作系統(包括 Amazon Linux 2、Windows 和 macOS)上開發和運行 Java 應用程序。

除了亞馬遜之外,電子商務供應商阿里巴巴現在也推出了自己的Java發行版,即開源Dragonwell8 Java開發工具包(JDK)。

阿里巴巴的Dragonwell8基於OpenJDK和Java SE(標準版)8。它類似於Amazon Corretto Java。當前,Allibaba僅適用於Intel x86-64 Linux系統,重點是數據中心中大型Java應用程序的穩定性和增強功能。計劃在每個季度發佈Dragonwell版本。基於Java SE 11的Dragonwell 11 將於今年推出。

同時,Azul Zulu Java平臺,SAP的SapMachine Java與阿里巴巴的Dragonwell Java變體一樣,也是OpenJDK稱為“友好的分支”。

就這樣,Java版本的收費風波過去了,行業穩定下來,Java體系根深葉茂,眾多大公司使用Java進行開發,所以一微風,根本在Java龐大體系中掀起波浪。

人工智能時代 Java需要跟上步伐

技術發展瞬息萬變,人工智能(AI)近年來變得非常流行。人工智能從早年的陽春白雪專家學者專用,到現在變成了高級程序員的必修課。其中Python語言因為擁有更多的開發庫,一度登頂TIOBE編程語言排行榜榜首,Java只能屈居第二位。


Java體系根深葉茂,家族雖然穩定,但仍暗藏地位不保危機

人工智能時代的開發語言

我們觀察 TensorFlow、Caffe、Apache Mahout、OpenNN、Torch、Neuroph、Deeplearning、Mycroft、OpenCog等人工智能的開發框架也能發現這個問題,就是這些人工智能開發框架對Python的支持程度要好於Java。

雖然Java以穩健成熟的框架、較高的效率、豐富的庫支持等原因仍居WEB開發的主流,但是由於人工智能發展潮流洶湧,Python被多數人看好,Java的地位看似有些隱憂。

另外,小程序支撐技術Nodejs的發展,也對Java地位造成了一點影響,在輕量級開發方面Nodejs各種框架,已經進入春秋戰國時代。再有一個不得不提的是Kotlin語言,或許也會對Java造成一點影響吧。

開發職場風雲變幻,各種技術路線層出不窮,身處旋渦中的程序員可能只有不斷學習,把握技術變化的風向,才能揚帆遠航吧。


分享到:


相關文章: