幾個月后的2022年3月,Java8將失去對Oracle Premier的支持。這并不意味著它不會收到任何新的更新,但Oracle在維護它上的努力可能會比現在少得多。對java感興趣的同學,可以參加Java培訓來獲得知識和技能,以便快速上崗。
這意味著有很好的理由轉向新版本,特別是在2021年9月14日Java 17發布之后,這是新的長期支持版本,那么有必要將java8遷移到java17 嗎?
如果你有一個大的、高負載的企業應用程序,并且仍然使用Java8,那么在遷移后你肯定會看到更好的性能、更快的啟動時間和更低的內存占用。開發該應用程序的程序員也應該更開心,因為語言本身有很多改進。
但是,這樣做的成本很難估計,并且根據所使用的應用程序服務器、庫和應用程序本身的復雜性(或者更確切地說,它使用/重新實現的低級功能的數量)的不同而有很大差異。
如果你的應用程序是微服務,那么你可能需要做的就是將基本docker映像更改為17 alpine,將Maven中的代碼版本更改為17,然后一切正常。一些框架或庫更新可能會派上用場。想學習java的同學不妨報個Java培訓班,可以節省學習時間,提高學習效率,在短時間內學有所成,還能找到一份不錯的工作。
到目前為止,所有流行的服務器和框架都支持Java9的Jigsaw項目。它是生產級的,經過了嚴格的測試,多年來已經修復了缺陷。許多產品提供了Java 9兼容版本的遷移指南或至少廣泛的發行說明。
如果你使用SpringBoot作為框架,那么網上有一些文章提供了遷移技巧,可以去參考看看。
如果您的應用程序沒有定制的類加載器,沒有嚴重依賴不安全的、大量使用sun.misc或sun.security,那么您很可能不會有問題。
從第8版開始,Java中刪除了一些內容,包括Nashorn JS引擎、Pack200 API和工具、Solaris/Sparc端口、AOT和JIT編譯器、Java EE和Corba模塊。有些東西仍然保留,但不推薦刪除,如小程序API或安全管理器。既然刪除它們有很好的理由,您無論如何都應該重新考慮在應用程序中使用它們。
Java17 LTS現在已經推出,它將在未來幾年內得到支持。另一方面,Java8的支持將在幾個月內用完。這無疑是一個考慮到java最新版本的堅實理由。如果想快速掌握java,參加Java培訓就是個不錯的選擇,有明確清晰的學習路線和經驗豐富的專業講師面授指導教學,讓學習更科學,更有效。