Groovy 与 Groovyc

Groovy vs Groovyc

我是Groovy的新手,不明白groovygroovyc的区别。所以如果我有这个文件,

hello.groovy

println "Hello World"

如果我 运行 groovy hello.groovy 它打印 "Hello World"

如果我 运行 groovyc hello.groovy 它会生成一个 .class 文件,如果我然后 运行 groovy hello 它会打印 "Hello World"

现在来自 ruby,这让我很困惑。 groovy 是编译的解释型语言吗?

Groovy是一种编译语言,但它允许你执行脚本。像您一样调用 groovy 编译并运行脚本。调用 groovyc 只会编译您的代码。

参见:http://www.javalobby.org/articles/groovy-intro1/

Groovy 是一种源自 Java 的语言。 groovyc 是 Groovy 编译器,它能够生成可以像任何普通 Java 编译程序一样执行的 JVM 字节码。

在这两种情况下,代码都是用 groovy 和 groovyc 编译的,但在第一种情况下,它是动态编译成字节码并执行的,而使用独立编译器时,只生成字节码(并保存以备后用)