Java 9、10、11,哪個才是 Java 程式設計師的本命?

之前,我們在《Java 10無跳票發佈,主推的新特性引爭議》的文章中做了一個小的調查,主要是調查現在的Java程序員都在使用哪個版本的Java?根據調查結果,絕大部分的程序員都在使用Java 8。

無獨有偶,國外的一家媒體也做了同樣的調查,但奇妙的是雙方調查結果大致相同,國外的Java程序員也是更多的在使用Java 8。現在Java 9和10都已經發布了,根據Oracle給出的半年一個版本的約定,沒有多久Java 11也將和大家見面。那麼問題來了,現在使用Java 8的程序員更願意遷移到這三個版本的哪個版本呢?

Java 9

Java 9雖然是三個備選選項中發佈最早的版本,並且OpenJDK董事會主席兼Oracle Java平臺小組開發副總裁Georges Saab也親自下場背書,“Java 9的增長速度雖然不如Java 8,但是與其他版本並無差異。”但是,程序員卻止不住對遷移到Java 9的吐槽。點擊查看Java9新特性實戰。

有程序員表示,Java 9中模塊系統的一個問題是一個包必須完全包含在一個模塊中。雖然這聽起來是個好主意,但實際上在客戶端和服務端的代碼中都會有相同的包,這打破了模塊系統,需要程序員進行重大重構。同時也有程序員表示常用的庫和工具沒有完全支持Java 9。

Java 10

Java 10是一個剛剛發佈的版本,現在要求使用這個版本的用戶達到多少,確實還有些不到時候。關於Java 10的新功能,可以參考《Java 10無跳票發佈,主推的新特性引爭議》,關於Java 10是否值得遷移,可以參考《Java 10值得遷移嗎?聽聽技術大牛的建議》。點擊查看Java10新特性實戰。

Java 11

Java 11雖然還沒有發佈,但是Java 11的路線圖已被相關媒體透露出來。Java 11將會增加一些新功能,更重要的是它將移除一些功能。

據悉JDK 11 只設置了三個新功能,包括Epsilon 垃圾收集器被稱為“no-op”收集器,將處理內存分配而不實施任何實際的內存回收機制; lambda 參數的局部變量語法,應該將隱式類型表達式中的形式參數聲明的語法與局部變量聲明的語法對齊; Java類文件格式將被擴展為支持一個新的常量池形式CONSTANT_Dynamic.點擊查看Java11新特性詳解。

那麼Java 11將要摒棄哪些東西呢?Java EE 和 CORBA 模塊在 Java SE 9 中已棄用,Java 11意圖將它們刪除。Oracle 表示在 Java SE 或 JDK 中不再需要藉助第三方站點提供的獨立版本的 Java EE 技術。


分享到:


相關文章: