- Java編程從入門(mén)到精通
- 胡平 劉濤主編
- 790字
- 2025-04-02 16:03:06
1.4.1 本書(shū)為何基于JDK 8
如前所述,經(jīng)過(guò)20余年的發(fā)展,JDK已經(jīng)發(fā)布了10余個(gè)主版本,應(yīng)該基于其中哪個(gè)版本來(lái)學(xué)習(xí)呢?我們認(rèn)為應(yīng)遵循以下幾個(gè)標(biāo)準(zhǔn)。
1. 不選擇最新或較老的版本
與日常生活中使用各種應(yīng)用軟件不同,開(kāi)發(fā)軟件時(shí)所使用的各種開(kāi)發(fā)工具和運(yùn)行環(huán)境通常不建議選擇最新的版本,原因有以下幾個(gè)方面。
(1)盡管最新版通常都向下兼容之前的版本,但由于其發(fā)布時(shí)日較短,尚未經(jīng)過(guò)足夠的實(shí)際項(xiàng)目檢驗(yàn),可能存在較多的未知Bug。
(2)對(duì)于最新版所引入的新特性,絕大多數(shù)項(xiàng)目根本不會(huì)用到,或者能通過(guò)其他方式達(dá)到相同的效果。
(3)最新版能夠獲取到的文檔資料相對(duì)較少。
也不建議選擇較老的版本。較老版本由于不支持某些語(yǔ)言或語(yǔ)法特性,從而導(dǎo)致無(wú)法實(shí)現(xiàn)某些特定功能或降低開(kāi)發(fā)效率。此外,官方可能不再提供對(duì)這些較老版本的修復(fù)、更新和支持。再有,大多數(shù)Java項(xiàng)目所依賴的主流開(kāi)源框架和庫(kù)也對(duì)JDK的最低版本有一定要求,而該最低版本通常集中在JDK 6、JDK 7或JDK 8。
2. 選擇長(zhǎng)期支持版本
從JDK 6開(kāi)始,Oracle為每個(gè)JDK主版本都提供了支持時(shí)間表,如表1-3所示。
表1-3 JDK 6以后各主版本的支持時(shí)間

可見(jiàn),截止到本書(shū)完成時(shí)間(2019年3月),對(duì)JDK 6的首要和擴(kuò)展支持均已停止,對(duì)JDK 7的首要支持即將停止。JDK 9、JDK 10、JDK 12雖然發(fā)布不久,但各自僅提供半年的首要支持,且不提供擴(kuò)展支持,而JDK 8、JDK 11均為L(zhǎng)TS(Long Term Support,長(zhǎng)期支持)版本。
在支持時(shí)間截止前,官方將不斷為相應(yīng)版本的JDK修復(fù)已知Bug和兼容性問(wèn)題,并做性能優(yōu)化和改進(jìn)工作。因此,應(yīng)盡可能選擇JDK的長(zhǎng)期支持版本。
3. 選擇工業(yè)界使用最為廣泛的版本
對(duì)于今后開(kāi)發(fā)實(shí)際項(xiàng)目,還應(yīng)充分考量JDK版本的成熟和穩(wěn)定性,以及當(dāng)遇到各種技術(shù)問(wèn)題時(shí),是否能較為便捷地通過(guò)官網(wǎng)或搜索引擎獲取到有效的文檔資料和解決方案。就目前而言,工業(yè)界絕大多數(shù)已上線或正在開(kāi)發(fā)中的Java項(xiàng)目是基于JDK 6、JDK 7或JDK 8的[1]。
綜合考量以上標(biāo)準(zhǔn),故本書(shū)選擇了基于JDK 8而非JDK 6、JDK 7、JDK 9、JDK 10、JDK 11或JDK 12。
- 神經(jīng)網(wǎng)絡(luò)編程實(shí)戰(zhàn):Java語(yǔ)言實(shí)現(xiàn)(原書(shū)第2版)
- 跟小海龜學(xué)Python
- Java深入解析:透析Java本質(zhì)的36個(gè)話題
- JavaScript+Vue+React全程實(shí)例
- FFmpeg入門(mén)詳解:音視頻原理及應(yīng)用
- 工業(yè)機(jī)器人離線編程
- Python Deep Learning
- 你真的會(huì)寫(xiě)代碼嗎
- Learning WordPress REST API
- Mastering XenApp?
- Elastix Unified Communications Server Cookbook
- R語(yǔ)言與網(wǎng)站分析
- Visual FoxPro程序設(shè)計(jì)
- 自然語(yǔ)言處理NLP從入門(mén)到項(xiàng)目實(shí)戰(zhàn):Python語(yǔ)言實(shí)現(xiàn)
- 正則指引(第2版)