語言深入:Java7中將增加“閉包”函數

發表于:2007-05-25來源:作者:點擊數: 標簽:Java7閉包增加中將深入
現在越來越多的動態語言比如:Python, Ruby 等受到了大家的歡迎, Java 中也衍生出了Groovey,在這些語言中都提供了閉包的支持。在Java未來將發布的最新版本Dolphin也將增加閉包的功能(closure)。 類似Groovy、Python、Ruby這樣的語言中都存在閉包的概念,J

現在越來越多的動態語言比如:Python,Ruby等受到了大家的歡迎,Java中也衍生出了Groovey,在這些語言中都提供了“閉包”的支持。在Java未來將發布的最新版本Dolphin也將增加“閉包”的功能(closure)。 
    類似Groovy、Python、Ruby這樣的語言中都存在閉包的概念,Java、C++、C#這樣的語言都不支持閉包,什么是閉包呢?記得以前看到的一篇文章中這樣說過“對象是附帶過程的數據,閉包是附帶數據的過程”。聽起來有點抽象,簡單一點講閉包就是“一段封閉的代碼”(block),下面是Java7規范草案中有關閉包的一段代碼: 
int(int) plus2b = (int x) {return x+2; }; 
    閉包可以包含參數和返回結果,這比起Java中的匿名內部類要要簡單靈活的多。個人認為Java中增加閉包函數除了增加靈活性;而且更易于對代碼進行抽象;同時可以減少臨時對象對內存的開銷,雖然Java有自動垃圾回收機制,但是有時候在一些應用程序中臨時對象的存在可能就是性能的瓶頸。目前Java7中的閉包部分的規范還在起草階段,期望未來的Java中可以增加更多的動態語言的支持。 
    如果你對此有興趣,可以下載規范草案 
    http://blogs.sun.com/roller/resources/ahe/closures.pdf 

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97