官术网_书友最值得收藏!

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。

主站蜘蛛池模板: 崇义县| 嘉黎县| 四平市| 宁乡县| 丹凤县| 万全县| 西贡区| 临颍县| 洛浦县| 黔西县| 泰兴市| 顺平县| 彭山县| 建阳市| 台东县| 新乡县| 象州县| 武安市| 扎鲁特旗| 乐至县| 贡嘎县| 崇文区| 许昌市| 汕尾市| 武定县| 桂林市| 威远县| 武平县| 铅山县| 马尔康县| 黄平县| 莱阳市| 深圳市| 合川市| 江源县| 乐山市| 读书| 富平县| 双流县| 洪江市| 陇南市|