我试图在Eclipse中制作简单的groovy脚本。 我注意到脚本总是在延迟一段时间后执行。大约一半的延迟。同时,等效的Java代码执行没有延迟。当我在控制台中运行jar文件时也是如此。
这是什么原因?
答案 0 :(得分:1)
我证实了我的预感。在Java中运行简单的hello world程序时:
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
使用-XX:+TraceClassLoading
,我可以看到它在输出之前加载了415个类。
但对于groovy中的相同程序:
class GMain {
public static void main(String[] args) {
println "Hello World"
}
}
在输出之前加载1665个类。
类加载需要花费大量时间,(afaik因为它通常包括硬盘I / O),因此至少会占用较长延迟的一部分。但总的来说,groovy运行时只在启动时执行 more ,因此需要更长的时间。