如何在执行前延迟

时间:2017-05-26 20:27:49

标签: java eclipse groovy

我试图在Eclipse中制作简单的groovy脚本。 我注意到脚本总是在延迟一段时间后执行。大约一半的延迟。同时,等效的Java代码执行没有延迟。当我在控制台中运行jar文件时也是如此。

这是什么原因?

1 个答案:

答案 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 ,因此需要更长的时间。