商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

Groovy的春天从Java7诞生那日开始

作者:来自ITPUB论坛  2008-01-23

  【IT168 技术文档】想必关注Java的朋友不会没有听说过Groovy吧?的确,由于Groovy的语法与Java极其相近,所以对于我们这群Java狂热分子特别友好。Groovy对于有Java基础的朋友来说,几乎可以说是唾手可得!要花点时间的是Groovy所提供的独有特性,当然不学这些特性照样可以用Groovy进行编程,但缺了Groovy的那个味。就比如我们学英语,的确能说能写,但有些用法都很不地道,这是同样的道理。

  现在Groovy已经发布了1.0正式版,网上还有《Groovy in Action》电子书下载,学习Groovy变的越来越方便了,不用因为缺乏资料,编译器报错不准而导致学习进度缓慢。而现在Groovy的项目之所以还比较少,其最主要的原因是Groovy的运行效率比较低,Groovy在2007年1月初才发布1.0正式版。

  至于Groovy的运行效率低,目前还没有什么好的解决方法,这主要跟bytecode有关。但令人兴奋的是,这些用Java实现动态语言的限制将在Java7诞生那天被解除,因为Sun已经在研究一种新的专门用于动态语言被命名为invokedynamic的bytecode,这将大大提高动态语言比如Groovy在JVM上的运行效率,直逼Java。相关信息可参见Dynamic Language Support on the JVM ( http://www.artima.com/lejava/articles/dynamic_languages.html )

  最后给一个较常碰到的编程问题:请打印所给文本文件(EachLine.groovy),并在行首标出行号。

  EachLine.groovy源码:

  def num = 0   new File("EachLine.groovy").eachLine { line ->   num++   println "$num: $line"   }

  运行结果:

  E:\Temp>groovy EachLine.groovy

  1: def num = 0

  2: new File("EachLine.groovy").eachLine { line ->

  3: num++

  4: println "$num: $line"

  5: }

1
【内容导航】
第1页: Groovy的春天从Java7诞生那日开始
©版权所有。未经许可,不得转载。
[责任编辑:cynthia]
[an error occurred while processing this directive]