java虚拟内存扩展_Java 8虚拟扩展方法
生活随笔
收集整理的這篇文章主要介紹了
java虚拟内存扩展_Java 8虚拟扩展方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java虛擬內存擴展
我一直關注Java 8 Lambda表達式項目的發展已經有一段時間了,我對其當前的進展狀態感到非常興奮。 我發現的最新“易于理解”的演示文稿是這樣的:http://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf
現在,作為API設計師,我對虛擬擴展方法的概念特別感興趣,并且我想知道是否也考慮引入“最終”擴展方法而不是“默認”擴展方法。 例如:
當實現上述接口A時,…
- 還必須實現a()
- 可以實現/重寫b()
- 無法覆蓋c()
優點:
- API設計人員可以更輕松地創建方便的方法,而不必冒“非法”覆蓋默認實現的風險冒用客戶代碼。 這是“決賽”的主要目的之一。
- Lambda表達式不必僅限于純“功能接口”(單方法接口),因為如果功能接口也具有任何數量的最終擴展方法,則其仍將是“功能”。 例如,如果b()被刪除或b()也被最終確定,則上述接口A將成為功能接口。
- 擴展方法將具有與常規方法相同的更多功能,而常規方法也可以是最終方法。 我想對于反射API和JVM來說 ,這是一個加號。
- 無論如何,JVM都會進行修改以支持擴展方法。 Java 8的動力也可以用于此功能,即現在正是考慮這一點的合適時機
缺點:
- 在“鉆石接口繼承 ”的情況下,一個類可以繼承多個沖突的最終方法實現。 這可能會導致現有代碼中出現新的編譯錯誤。 我想缺乏向后兼容性是最大的缺點。
與多重繼承本身一樣,謹慎的API設計人員可以在使用最終擴展方法時進一步改善其API,而不太謹慎的API設計人員可能會破壞客戶端代碼。 但是這個
以前的“ final”用法也是這種情況,因此我認為最終擴展方法將是對Java 8的很好補充。
請在此處查看完整的郵件和lambda-dev郵件列表中的后續郵件:
http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004426.html
參考:來自 Java的JCG合作伙伴 Lukas Eder的Java 8虛擬擴展方法 ,位于JAVA,SQL和JOOQ博客上。
相關文章 :
- Java Lambda語法替代
- Java SE 7、8、9 –推動Java前進
- Java 7功能概述
- 在Java 7中處理文件
- 具有Java 7中自動資源管理功能的GC
- Java 7:嘗試資源
翻譯自: https://www.javacodegeeks.com/2011/12/java-8-virtual-extension-methods.html
java虛擬內存擴展
總結
以上是生活随笔為你收集整理的java虚拟内存扩展_Java 8虚拟扩展方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7系统电脑设置自动开机方法步骤详解
- 下一篇: 隐私设置错误怎么处理(隐私设置错误怎么处