一、Loom項目
嘗試改進(jìn)Java語言的并發(fā)處理方式,或者說是在對計算機(jī)在不同指令集執(zhí)行之間切換能力的探索。
甲骨文公司Loom項目技術(shù)負(fù)責(zé)人RonPressler在QCon倫敦2019大會上向希望編寫軟件以處理并發(fā)任務(wù)的Java開發(fā)者們提出了兩種都不夠完美的選項:要么編寫無法通過擴(kuò)展處理大量并發(fā)任務(wù)的“簡單同步阻塞代碼”,要么編寫可擴(kuò)展但編寫難度極高且調(diào)試過程復(fù)雜的異步代碼。
為了尋求解決這個問題的方法,Loom項目引入了一種將任務(wù)拆分為線程的新方法——所謂線程,即是指計算機(jī)在運(yùn)行指令時的最小可能執(zhí)行單元。在這方面,Loom引入了被稱為fibers的新型輕量級用戶線程。
他在大會上指出,“利用fibers,如果我們確保其輕量化程度高于內(nèi)核提供的線程,那么問題就得到了解決。大家將能夠盡可能多地使用這些用戶模式下的輕量級線程,且基本不會出現(xiàn)任何阻塞問題?!?/p>
利用這些新的fibers,用戶將能夠擴(kuò)展Java虛擬機(jī)(JVM)以支持定界延續(xù)(delimitedcontinuations)機(jī)制,從而使得指令集的執(zhí)行實現(xiàn)暫停以及恢復(fù)。對這些延續(xù)進(jìn)行暫停與恢復(fù)的任務(wù)將由Java中的ForkJoinPool調(diào)度程序以異步模式處理。
根據(jù)說明文檔所言,fibers將使用與Java現(xiàn)有Thread類非常相似的API,這意味著Java開發(fā)人員的學(xué)習(xí)曲線應(yīng)該不會太過陡峭。
Valhalla項目
Valhalla項目專注于支持“高級”JVM與語言功能的開發(fā)。
目前Valhalla項目的候選提案還比較有限,具體包括:
ValueTypes:
https://openjdk.java.net/jeps/169
此項提案旨在允許JVM處理一種新的類型,即ValueTypes。
這些新的不可變類型將擁有與int等基元類似的內(nèi)存效率,但同時又與普通類一樣能夠保存一整套基元集合。提案說明文檔中指出,其目標(biāo)在于“為JVM基礎(chǔ)設(shè)施提供處理不可變與無引用對象的能力,從而實現(xiàn)使用非基元類型進(jìn)行高效按值計算的目標(biāo)?!?/p>
GenericSpecialization:
https://openjdk.java.net/jeps/218
此項提案擴(kuò)展了適用于泛型的具體類型,其中包括基元以及即將推出的ValueTypes。
來自O(shè)racle的警告
Java8是目前使用率最高的一個Java版本,發(fā)布于2014年,而Oracle對Java8的官方支持時間持續(xù)到2020年12月,之后將不再為個人桌面用戶提供OracleJDK8的修復(fù)更新;在2019年1月之后,不再提供免費的商業(yè)版本更新,屆時想要繼續(xù)獲得Oracle的商業(yè)支持和維護(hù),需付費訂閱。
近日,Oracle的銷售代表發(fā)出的一封郵件引起了熱議,該郵件稱“Java8的非公開可用的關(guān)鍵補(bǔ)丁更新”將于2019年4月16日發(fā)布,擁有有效許可證的客戶才可以享用。郵件繼續(xù)稱,如果沒有安裝這些更新,可能導(dǎo)致“你的服務(wù)器和桌面環(huán)境暴露且易受攻擊。”
以上就是天津卓眾教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java畢業(yè)設(shè)計視頻:決定未來的主要項目”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。