当前页面: 开发资料首页 → Java 专题 → Java7中将增加“闭包”函数 
Java7中将增加“闭包”函数 
摘要: Java7中将增加“闭包”函数  
                     </td>
              </tr>
              <tr>
                <td height="35" valign="top" class="ArticleTeitle">
                 
                  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="271" height="86" align="center" valign="top">
 
</td>
                      <td width="413" valign="top">     现在越来越多的动态语言比如: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
                  
</td>
                    </tr>
                    <tr>
                      <td height="20" colspan="2">
                      </td>
                    </tr>
                  </table>
                 </td>
              </tr>
              <tr>