JAVA8為何還在用


事實證明大部分人還在用Java8

從Java8之后,Java的發布周期明顯快了很多,而根據調查顯示,80%的受訪者仍然在使用Java8。

在這么多的版本中,只有Java8、Java11和未來的Java17是長期支持版本(LTS),Oracle會支持3年,其他的只會支持6個月,新版本一出,就放棄老版本的技術支持,這也是很少有人使用9~14的版本的原因。

 

03

既然高頻更新,為什么開發人員還在堅持使用Java 8呢?

第一,Java8開創性的語言特性還在被編程社區吸收。

即使到了2019年,網上仍然在熱烈討論關於Steam和Optional的相關問題,Baeldung自己也發布了Java8Optional 指南。

第二,Java9引入了模塊化系統,這是個看起來很美的特性,可是對程序員來說,這是一個破壞性的更新,因為JDK做了模塊化,但是很多第三方庫沒有做模塊化。

如果想讓自己的項目也模塊化,很有可能是一次不斷填坑的經歷,尤其在使用第三方庫的時候。

第三,在Java8之后,新版本的特性似乎沒有足夠的說服力讓人們下決心更新。

第四,在2019年1月份之后,JavaSE8的公共更新需要商業許可,這也是OracleJDK與 OpenJDK 之爭的開始。

此外,在不同的供應商那里是否可以得到免費更新的相關計划,以及 (新的和現有的) 付費的支持模型,這些都是人們考慮是否更新的因素。

框架:Spring占據主導地位

在框架的采用方面,Spring占據了主導地位。與傳統且臃腫的JavaEE相比,Spring是現代化的、基於Java的企業應用程序的輕量級框架。SpringBoot的采用率也很高。

構建工具:Maven斷層式第一

在Java構建工具的調查中,Maven以相當大的優勢排在了第一位,這表明排在第二位的Gradle仍然是Android的代名詞,之后需要做更多的努力來擺脫這些限制,以便被開發者認可成為Java構建通用實踐的一個可行選擇。

IDE:IntelliJ大比例占據一位,Eclipse份額持續下降

在IDE的調查中,IntelliJ以將近60%的份額占據了第一的位置。為什么IntelliJ如此受歡迎呢?

Jetbrains市場總監安德烈·切普索夫曾在一篇博客中這樣寫道:“在你編寫代碼時,IntelliJ IDEA也忙着在構建它的語法樹,在類、變量、字段、方法和它們的用法之間創建引用,分析執行流,利用這些信息,它可以提供補全功能,幫助你快速瀏覽代碼,提供錯誤分析和方便的快速修復。”

而傳統的Eclipse則有點不妙,其占比從去年的38%下降到32.8%。

Web/應用服務器:Tomcat占據第一

早在2011年,Forrester的首席分析師邁克·瓜蒂埃里就寫過一篇既有預見性又不受時間限制的文章,名為《停止在 WebLogic、WebSphere 和 JBoss 應用服務器上浪費金錢》他開頭寫道:“使用Apache Tomcat 吧,它是免費的。”

事實證明,Tomcat一直保持着輕量級的資源消耗,毫無爭議地擊敗 Jetty、WebLogic、WebSphere 、JBoss等奪得了冠軍。

數據庫:關系型數據庫比NoSQL更受歡迎

MySQL和PostgreSQL是前兩名,Oracle排名第三,第四、第五名分別是 MongoDB和MSSQL。

這里有兩個值得注意的趨勢,與Percona的數據庫管理系統流行度調查結果一致,關系型數據庫管理系統勝過NoSQL,而開源數據庫管理系統則比大型商業數據庫管理系統做得更好。就像前文中的Web服務器一樣,人們尋求的也是更輕量級的等價物,尤其是PostgreSQL。

 

04

我們需要不斷地學習Java新版本嗎?

最新的版本就一定是最好的嗎?並不見得。

因為Java8被個人/企業所廣泛運用,用的時間長了,bug都差不多被找出來了,只會更加穩定、順手。對於企業來說,穩才是重中之重,甚至有的企業還在用Java1.7版本。

那程序員們還有必要學習Java的新版本嗎?

我認為是有必要的。

從技術來看:Java小版本更新基本上都是修復各種漏洞和bug,不會去改變現有的JDK,JDK其實都差不多,我們只需要知道它新增了什么功能而已,從這一點來看其實也增加不了很多的學習成本。

當Java大版本的更新,比如JDK7->JDK8,會增加一些新特性,花幾個小時看看realse note就可以完成學習了,同樣花不了程序員們的很多時間。

從個人來看:雖然很多公司還在用JDK6-7-8,但是我們更應該關注的是自身的知識基礎和學習能力,不要因為現在公司的Java技術停留在某個版本上面而放棄學習,我們可以不為企業更新Java版本,但我們要為自己的知識深度與廣度學習更多的Java知識。

如果你只會Java1.7,那么你的求職范圍只能在使用Java1.7的公司中,一個用得上Java8、11、12的公司為什么要招一個連Java8都不會的人呢?

除了留意版本更新,程序員們同時要留意基於Java的一些流行框架和新技術,比如近幾年興起的SpringBoot、SpringCloud等。

一句話就可以概括:企業升不升級是他的事,你學不學是你的事。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM