嵌入式 Java
我并沒有看到這個領域有什么變化。Oracle 完全放棄了在該領域的開發(fā),已經不再提供支持非常流行的 ARM 架構的嵌入式應用程序的二進制文件了。
但是幽钢,我預測今年嵌入式應用程序中的 Java 應用將會增長。主要原因有三個:
Java ME
我覺得已經可以說傅是,Java ME 已經死了匪燕。雖然去年 Java ME 工作組還做過一些工作將其移植到 JCP 下,但這項工作會在三月份停止喧笔。似乎 V2COM 是唯一一家對這個方向有興趣的公司谎懦,他們應該是在與 Eclipse 基金會合作這個項目。
我對于今年的預測是溃斋,Java ME 不會再有任何開發(fā)界拦,也不會有任何真正的應用再使用它。我都懷疑我在 2020 年的預測中是否還會提及它了梗劫。
Java EE(現(xiàn)在是 Jakarta EE)
2018 年是企業(yè)級 Java 統(tǒng)合的一年享甸,必要的知識產權、代碼和測試都從 Oracle 移交給了 Eclipse 基金會梳侨。
Eclipse 基金會現(xiàn)在在努力制定標準流程的細節(jié)方面蛉威,從而替代一直使用至今的 JCP 的流程。因此走哺,這個領域我認為不會有任何重要的開發(fā)蚯嫌。一個可能的例外就是微服務和 MicroProfile”铮考慮到這種架構方式的流行择示,我認為 Java 在這個領域會出現(xiàn)很多進展。
Java SE(Core Java)
我認為晒旅,去年年初我們本應有兩個 Java 的主要版本栅盲。考慮到 OpenJDK 項目的發(fā)布預定版废恋,我甚至都不需要水晶球就能預測谈秫!好消息是,這個流程非常順利鱼鼓。Java SE 10 和 11 都如期發(fā)布了拟烫,必要的 JSR 也同時被創(chuàng)建、審查并得到了通過迄本。伴隨這一點硕淑,JCP 已經完成了 JSR 過程(通過 JSR 387),因此整個流程變得更簡單。
今年喜颁,我預言會有至少兩個主要版本,JDK 12 和 JDK 13曹阔。同樣半开,這并不意味著我有諾斯特拉達姆士(法國預言家)那種能力。JDK 12 已經蓄勢待發(fā)赃份,我也被邀請加入 Java SE 13 的專家小組寂拆,其他方面的工作也都在進行。
從技術的角度來看抓韩,我認為兩個發(fā)布都是發(fā)展性的纠永,而不是革命性的。JDK 12 帶有一個全新的語言預覽功能谒拴,即 switch 表達式尝江。Raw string literals 也被計劃加到 JDK 12 中,但由于最佳實現(xiàn)方式還需要進一步討論英上,因此被撤下了炭序。同樣,這也證明了新的發(fā)布流程很有效苍日。這個流程不會加入尚未完成的功能惭聂,而是將其延后到下一個版本。我的預測是相恃,這個功能即使在 JDK 13 中也無法做好辜纲。JDK 13 中我能看到的大多數(shù)改變都是幕后工作,因為該版本計劃了更流行的功能拦耐,如 Valhalla 和 Loom耕腾。
Java Community Process(Java 社區(qū)過程,JCP)
我認為今年應該是 JCP 確立的一年杀糯。我代表 Azul 參加了大部分的 JCP 執(zhí)行委員會(EC)幽邓,所以我覺得我在這方面很有發(fā)言權。現(xiàn)在 Java ME 已經不存在火脉,企業(yè)級 Java 已經移動到了 Eclipse 基金會牵舵,因此 JCP 中剩下的唯一重要的就是 Java SE 了。還有幾個其他的 JSR 過程倦挂,但從 Java 平臺整體來說這些過程并不重要畸颅。而且,在 Java SE 中方援,大部分本來由專家小組負責但工作都以 JDK 增強提案(JDK Enhancement Proposal没炒,JEP)的形式移交給了 OpenJDK 社區(qū)。
不幸的是犯戏,這并沒有留給 JCP 多少工作送火。執(zhí)行委員會已經將面對面會議的次數(shù)從每年三次減少到了兩次拳话。我認為,在 JavaOne(或Oracle Code One或其他任何名字)開始之前种吸,會議的次數(shù)會減少為一次弃衍。
JCP 對于 Java SE 依然至關重要,因為它提供了核心 Java 平臺的正式規(guī)則——TCK坚俗,從而人們能夠驗證 Java 二進制文件是否遵循標準镜盯,而且更為重要的是,能給予那些提供替代版 Java 二進制發(fā)布的公司(如 Azul)以合適的知識產權猖败。
我認為速缆,我們會在 JCP 中看到更多變化,更多的公司會直接參與進來恩闻。
JDK 二進制
說完 Java 的技術方面艺糜,接下來討論今年最大的變動——Java 的分發(fā)方式,以及更為重要的更新方式幢尚。本月晚些時候我們將發(fā)布 JDK 8 和 JDK 11 的最后一個公開更新倦踢。盡管 JDK 11 是個長期支持發(fā)布(LTS),但這只是你使用 Oracle JDK 的情況侠草,因為它已經采用了不同的授權方式辱挥。這意味著,你依然可以在開發(fā)和測試中免費使用 Oracle JDK边涕,但無法在產品中免費試用晤碘。如果你想從 Oracle 獲得免費的、能用于產品的二進制功蜓,就要獲得 Oracle OpenJDK 二進制(從 jdk.java.net)园爷。所有這些發(fā)布都不提供長期支持。
我的預測是式撼,到今年年底童社,絕大部分 Java 用戶都會放棄使用 Oracle JDK。一些組織(顯然著隆,Azul 也在其中)會提供 OpenJDK 的構建扰楼,同時提供多種形式的支持,包括從當前發(fā)布移植布丁等美浦。
如果你還沒有考慮今年該用哪個 Java 版本弦赖,那現(xiàn)在就該下決定了。從下個月開始浦辨,如果安全布丁對你來說很重要(它們的確很重要)蹬竖,你就得決定怎樣獲取它們了。
?為了讓學習變得輕松、高效币厕,今天給大家免費分享一套Java教學資源列另。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285旦装,05736