Groovy是一种新兴的 Java 2 平台语言。Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。Groovy 在 12月16日发布了两个版本,Groovy 1.7.6 是一个 bug 修复版本,而 1.8 Beta3 则包含一些新功能:
● extended command expressions can be used on the right-hand side of assignments
● the @Log AST transformation is customizable for your own logging needs
● Map now has an isCase() method
● a @GrabResolver shortcut with @GrabResolver("http://some/url")
● String can be coerced to Enums ("blue" as Color)
● support for closure memoization and trampoline
● @ThreadInterrup, @ConditionalInterupts and @TimedInterrupt AST transformations for stopping the execution of embedded scripts
● min() / max() methods on maps (on values)
● ability to store node metadata in AST nodes, for use in your AST transformations
But beyond those new features, a key aspect of the new beta is a first batch of performance improvements related to primitive int handling.
The Groovy development team is pleased to announce the releases of Groovy 1.7.6 and 1.8-beta-3.
Groovy 1.7.6 is mainly a bug-fix release, whereas 1.8-beta-3 offers some interesting new features and capabilities, especially a preview of performance for primitive operations.
You can have a look at the JIRA release notes for Groovy 1.7.6 and Groovy 1.8-beta-3.
什么是 Groovy?
Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。
● 是一个基于 Java虚拟机的敏捷 动态语言。
● 构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征。
● 为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。
● 支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。
● Groovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变的非常简单。
● 在开发Web,GUI,数据库或控制台程序时 通过 减少框架性代码 大大提高了开发者的效率。
● 支持单元测试和模拟(对象),可以 简化测试。
● 无缝集成 所有已经存在的 Java对象和类库。
● 直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
Groovy 的一个好处是,它的语法与 Java 语言的语法很相似。虽然 Groovy 的语法源于 Smalltalk 和 Ruby 这类语言的理念,但是可以将它想像成 Java 语言的一种更加简单、表达能力更强的变体。(在这点上,Ruby 与 Groovy 不同,因为它的语法与 Java 语法差异很大。)