Oracle 宣布 Java 7 生命周期終結(jié)
Oracle 于 2015 年 4 月停止在公共渠道發(fā)布 Java 7 安全補(bǔ)丁和升級(jí)包,以敦促用戶(hù)遷移至 Java 8 或購(gòu)買(mǎi) Java 7 的長(zhǎng)期商業(yè)支持服務(wù)。后續(xù)可能有其它第三方機(jī)構(gòu)為其提供公共更新。
這次計(jì)劃內(nèi)的 EOL(end-of-life)最初于2014 年 3 月宣布,并且預(yù)計(jì)不會(huì)對(duì)普通用戶(hù)產(chǎn)生影響(Oracle 在 2015 年 1 月就啟動(dòng)了從 Java 7 到 8 的自動(dòng)更新),但 Java 開(kāi)發(fā)者和高級(jí)用戶(hù)也許會(huì)碰到一些問(wèn)題。很多工具和庫(kù)仍然依賴(lài)于一些已在 Java 7 中標(biāo)記為廢棄的功能特性,而這些特性在 Java 8 中則被完全移除了,由此導(dǎo)致這些工具與新版本的 Java 不兼容,它們必須在用戶(hù)升級(jí) Java 版本之前做相應(yīng)的更改。
Oracle 不再發(fā)布更新并不表示 Java 7 完全不能用了,但這意味著 Oracle 不會(huì)為 Java 7 上未來(lái)可能發(fā)現(xiàn)的任何隱患和 漏洞提供補(bǔ)丁,從而使最終用戶(hù)面臨風(fēng)險(xiǎn)。也就是說(shuō)那些仍在使用與 Java 8 不兼容的工具的用戶(hù)要么選擇繼續(xù)使用 Java 7 并接受潛在的風(fēng)險(xiǎn),購(gòu)買(mǎi)長(zhǎng)期商業(yè)支持,要么遷移到另一個(gè)工具。這使得壓力都轉(zhuǎn)移到工具開(kāi)發(fā)者身上,尤其是那些開(kāi)源項(xiàng)目的負(fù)責(zé)人,因?yàn)樗麄兊冒褜?duì)項(xiàng)目的日常 職責(zé)與遷移至***版 Java 的工作結(jié)合起來(lái)。身為 FamilySearch 的***工程師同時(shí)也是 Enunciate 創(chuàng)始人的 Ryan Heaton 就是例子,Enunciate 是一個(gè)被廣泛使用的 Java 文檔引擎工具,目前不能在 Java 8 上使用。
我覺(jué)得 Java 7 的 EOL 來(lái)得太快了。我本希望他們能再等一段時(shí)間,但是我也理解維護(hù)老版本產(chǎn)品和 API 的開(kāi)銷(xiāo)太大。不過(guò)說(shuō)實(shí)話(huà),不管 Oracle 決定何時(shí)終止 Java 7,我可能都會(huì)覺(jué)得太快了。我得承認(rèn)這促使我盡快更新自己的項(xiàng)目。
從另一方面來(lái)說(shuō),這次遷移只有一個(gè)選擇看起來(lái)似乎不同尋常,難道不應(yīng)該在 Java 7 EOL 之前就發(fā)布 Java 9 供用戶(hù)選擇嗎?
Oracle JVM的替代品
雖然 Oracle 的 JVM 最為流行,但它并不是唯一的 JVM。各種不同的機(jī)構(gòu)和用戶(hù)群實(shí)現(xiàn)了許多 JVM,既有開(kāi)源的也有專(zhuān)有的,分別提供不同級(jí)別的支持。比如 Azul Systems,它提供兩種帶有商業(yè)支持的 JVM,不僅為 Java 7 提供更新包,甚至還支持 Java 6.






















