Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行前如何延期_Java_Eclipse_Groovy - Fatal编程技术网

Java 执行前如何延期

Java 执行前如何延期,java,eclipse,groovy,Java,Eclipse,Groovy,我试图在Eclipse中创建简单的groovy脚本。 我注意到脚本总是在延迟后执行。大约半秒延迟。同时,一个等价的java代码毫不延迟地执行。在控制台中运行jar文件时也是如此 原因是什么?我证实了我的预感。在Java中运行简单的hello world程序时: public class Main { public static void main(String[] args) { System.out.println("Hello World"); }

我试图在Eclipse中创建简单的groovy脚本。 我注意到脚本总是在延迟后执行。大约半秒延迟。同时,一个等价的java代码毫不延迟地执行。在控制台中运行jar文件时也是如此


原因是什么?我证实了我的预感。在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个类


类加载需要花费大量时间(因为它通常包括硬盘I/O),所以这至少可以解释较长延迟的一部分。但一般来说,groovy运行时只是在启动时做得更多,所以需要更长的时间;它有更多的类要加载(所有groovy内部),如果用@groovy.transform.CompileStatic?@daggett more注释groovy类,它将加载1769,为了完成它,您能否给出groovy和java版本,并尝试使用groovy all only lib和groovy all indy。提前谢谢@达吉特:可能不会有太大区别。此外,我不是一个标杆服务。