幾個月后的2022年3月,Java8將失去對Oracle
Premier的支持。這并不意味著它不會收到任何新的更新,但Oracle在維護它上的努力可能會比現(xiàn)在少得多。對java感興趣的同學,可以參加Java培訓來獲得知識和技能,以便快速上崗。
這意味著有很好的理由轉向新版本,特別是在2021年9月14日Java
17發(fā)布之后,這是新的長期支持版本,那么有必要將java8遷移到java17 嗎?
如果你有一個大的、高負載的企業(yè)應用程序,并且仍然使用Java8,那么在遷移后你肯定會看到更好的性能、更快的啟動時間和更低的內存占用。開發(fā)該應用程序的程序員也應該更開心,因為語言本身有很多改進。
但是,這樣做的成本很難估計,并且根據(jù)所使用的應用程序服務器、庫和應用程序本身的復雜性(或者更確切地說,它使用/重新實現(xiàn)的低級功能的數(shù)量)的不同而有很大差異。
如果你的應用程序是微服務,那么你可能需要做的就是將基本docker映像更改為17
alpine,將Maven中的代碼版本更改為17,然后一切正常。一些框架或庫更新可能會派上用場。想學習java的同學不妨報個Java培訓班,可以節(jié)省學習時間,提高學習效率,在短時間內學有所成,還能找到一份不錯的工作。

到目前為止,所有流行的服務器和框架都支持Java9的Jigsaw項目。它是生產(chǎn)級的,經(jīng)過了嚴格的測試,多年來已經(jīng)修復了缺陷。許多產(chǎn)品提供了Java
9兼容版本的遷移指南或至少廣泛的發(fā)行說明。
如果你使用SpringBoot作為框架,那么網(wǎng)上有一些文章提供了遷移技巧,可以去參考看看。
如果您的應用程序沒有定制的類加載器,沒有嚴重依賴不安全的、大量使用sun.misc或sun.security,那么您很可能不會有問題。
從第8版開始,Java中刪除了一些內容,包括Nashorn JS引擎、Pack200
API和工具、Solaris/Sparc端口、AOT和JIT編譯器、Java
EE和Corba模塊。有些東西仍然保留,但不推薦刪除,如小程序API或安全管理器。既然刪除它們有很好的理由,您無論如何都應該重新考慮在應用程序中使用它們。
Java17
LTS現(xiàn)在已經(jīng)推出,它將在未來幾年內得到支持。另一方面,Java8的支持將在幾個月內用完。這無疑是一個考慮到java最新版本的堅實理由。如果想快速掌握java,參加Java培訓就是個不錯的選擇,有明確清晰的學習路線和經(jīng)驗豐富的專業(yè)講師面授指導教學,讓學習更科學,更有效。




