Groovy 浅析

jopen 12年前

groovy是一个基于jvm的脚本语言,它大多数的地方和java非常类似,所以一般可以看成java的扩展

在jvm中我们有2中方式可以运行groovy

1: 使用groovyc编译所有的*.groovy为java的*.class文件,把这些*.class文件放在java类路径中,通过java类加载器来加载这些类

2: 通过groovy的类加载器在运行时直接加载*.groovy文件并且生成对象

 

因为groovy遵循class规范,所以groovy和java之间可以互相调用

Groovy 浅析

gdk:groovy的类库

基本上是对JDK的一个扩展,在原来的基础上增加了一些脚本语言的特性,修改了一些不友好的方法名,增加了闭包等

 

与其它脚本语言的区别:

groovy在语法上是面向行的,但是在执行上却不是,groovy代码被完整的转换,通过转换器产生一个class文件

 

执行步骤:

假设我们有一个脚本:MyScript.groovy

1:MyScript.groovy被传递给groovy的转换器;

2: 转换器产生一个抽象语法树(AST)来表示在MyScript.groovy中的所有代码;

3:Groovy类生成器根据AST产生java字节码

 

Groovy 浅析

转自:http://blog.csdn.net/larrylgq/article/details/7708792