Java内存模型又回来了
Java內存模型已經被遺忘了九年多了,但是大多數開放源代碼Java支持者都希望對其進行現代化,并專注于并發,因為Java內存模型中引入的過程僅朝現代化邁出了一步 。
一個JEP(JDK增強建議),編號188 ,已于本月發布,它提供了對影響Java SE(標準版),JVM支持,測試和工具的共享內存并發工作的指導。
根據JEP文檔,在設計并發和并行平臺時,指定共享內存一致性模型以及開發和維護符合它們的功能和組件是最核心但最困難的問題之一。 隨著時間的推移,規格限制,錯誤和意外后果變得顯而易見。 出現了擺脫現有界限的新硬件平臺,編程技術以及軟件組件和工具。
JEP試圖解決上述問題。 它還擴展了Java內存模型的覆蓋范圍,該內存模型最近一次與Java SE 5一起發布于2004年9月,與Java SE 7的當前版本和3月將要發布的Java SE 8的新版本相去甚遠。
正如該提案的作者Doug Lea所解釋的那樣,內存模型提出了關于線程與內存如何交互的形式化的,主要是數學表達的規則。 最終所有Java線程操作和同步都是根據內存模型指定的。 該模型可用于修訂Java語言規范,改進實現,支持新的并發功能以及開發新的編程工具。
如果JEP努力取得成功,則可能會導致整個平臺的各種增強,調整和錯誤修復。 某些不常見的邊界編程構造也可能會出現問題。 但是不會對向后兼容性或不相關的規范或API產生進一步的影響。 另一方面,如果努力未能實現其目標,那么目前的局勢將繼續保持下去。
該提案將以改進基礎內存模型的形式化為特征,其中修訂后的模型將在機械上可檢查且更易于理解。 現有錯誤也將得到解決,JVM覆蓋率將與C11 / C ++兼容性和實現指南一起得到解決。
根據該建議,很難測試是否符合存儲器模型的要求,因此,希望工程師能夠設計和實施具有清晰基礎規格的測試。 重新開發的模型將適合開發工具使用,這些工??具可以分析檢查并發執行期間的競爭條件和安全屬性維護等錯誤。
Lea曾在JCP(Java社區流程)執行委員會任職,但于2010年離職。Lea澄清說,盡管JCP可能會參與該工作的副產品,但內存模型建議并非JCP的工作。
翻譯自: https://www.javacodegeeks.com/2014/01/java-memory-model-is-back.html
總結
以上是生活随笔為你收集整理的Java内存模型又回来了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多数人反馈不喜欢,比亚迪海豹出口欧洲车型
- 下一篇: 发布Akka Toolkit 2.3