大家都清楚Java有很多版本,很多剛?cè)腴T的朋友總是著急問大家現(xiàn)在Java應(yīng)該用哪個(gè)版本好?目前大家推薦用內(nèi)個(gè)?但是,小編還是覺得,你應(yīng)該想好好了解Java究竟有哪些版本,這樣才可以深入了解他們的區(qū)別究竟在那里,并且這些不同的版本所具有的功能也不盡相同。還有小白喜歡這樣問:我們學(xué)習(xí)Java在選擇版本的時(shí)候?是越新越好嗎?那針對(duì)這個(gè)問題,小編認(rèn)為很有必要就這個(gè)問題給大家解釋一下。
在Java的發(fā)展過程中,有很多不同的表述方式,有時(shí)候會(huì)給初學(xué)者造成一些誤解。但請(qǐng)你記住,所謂的Java版本,其實(shí)就是指JDK的版本,兩者是一回事!
1. JDK版本
Oracle把JDK分成了兩種維護(hù)情況,即短期支持版本和長期支持版本,我們先來看看 Oracle官方發(fā)布的JDK路線圖:
對(duì)于短期支持版本(non-LTS)而言,Oracle只會(huì)提供6個(gè)月的支持維護(hù);而對(duì)于長期支持版本(LTS),則提供8年的支持維護(hù)。所以根據(jù)這一規(guī)劃,Oracle每隔6個(gè)月,就會(huì)發(fā)布一個(gè)大版本,每個(gè)季度則發(fā)布一個(gè)中間特性版本。另外Oracle還承諾,新的JDK發(fā)布周期會(huì)嚴(yán)格遵循時(shí)間點(diǎn),將于每年的3月份和9月份發(fā)布,中間不會(huì)跳票。
現(xiàn)在正常情況下,每隔6個(gè)月就會(huì)有一個(gè)短期維護(hù)版本(non-LTS)發(fā)布出來,比如JDK 9、10、12、13、14、15、16;然后每隔3年,就會(huì)發(fā)布一款得到8年長期支持維護(hù)的JDK版本,比如JDK 8、11、17。所以小伙伴們,其實(shí)你沒必要下載使用JDK9/10/12等non-LTS版本,應(yīng)該使用JDK 8、11、17這樣的LTS版本。但目前絕大多數(shù)主流企業(yè)使用的版本是JKD 8,但不會(huì)使用最新的版本,而且Oracle宣布從JDK 9.0之后開始針對(duì)企業(yè)收費(fèi),所以最新版的JDK使用情況待議。
2. 版本選擇
既然JDK版本有這么多,作為小白,你到底該選擇哪個(gè)版本的JDK呢?是直接學(xué)習(xí)JDK 18還是19?或者等幾個(gè)月學(xué)習(xí)JDK 21?小編告訴你,如果你是一個(gè)新手小白,其實(shí)沒必要追求學(xué)習(xí)最新的JDK!
首先每一個(gè)JDK版本推出時(shí),都存在著很多未知的bug,所以企業(yè)在開發(fā)時(shí),都會(huì)選擇最穩(wěn)定的版本!現(xiàn)在主流的企業(yè)級(jí)應(yīng)用都在使用JDK 8.0正式版,并且JDK 8.0及之前版本都是免費(fèi)的,而JDK 9.0以后則開始收費(fèi)(針對(duì)企業(yè)收費(fèi),非個(gè)人)。所以公司考慮到穩(wěn)定性和費(fèi)用等問題,都在使用JDK 8.0,這才是主流!
另外對(duì)初學(xué)者來說,JDK的新特性其實(shí)對(duì)小白來說意義并不大。這些新特性一般是針對(duì)性能有較大提升,但你作為一個(gè)小白,連最基本的用法都不會(huì)呢,現(xiàn)在去追求這些新特性沒必要。
所以大家明白了嗎?雖然目前JDK的版本都出來這么久了,但是總結(jié)下,如果是小白,還是建議使用更穩(wěn)定的版本,比較對(duì)于初學(xué)者來講還是要打好穩(wěn)定的基礎(chǔ)才是核心重點(diǎn),像JDK的新特性對(duì)你們來講確實(shí)意義不大,不需要浪費(fèi)太多時(shí)間去糾結(jié)。