Eclipse 启动程序执行的时间太长



当我单击"运行"按钮或 F11 键开始程序执行时,大约需要 8-10 秒才能开始实际执行。

所以考虑以下相同的代码

public class Demo {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

单击"运行"按钮或 F11 键后,它会在 8-10 秒后打印"Hello World"。对于较大的程序,一旦执行开始,它的运行速度就相当快。但最初的开始是唯一的问题

我正在使用"Eclipse IDE for Java Developers" 版本: 2020-03 (4.15.0(

只有一组最少的插件,实际上也尝试禁用Mylyn插件,但无济于事

这可能不是由 Eclipse 引起的,这可以通过在命令行上运行时是否也发生延迟来判断,而使用运行配置的">显示命令行"按钮时是否也会发生延迟

在Windows上,它可能是由Windows Defender引起的。排除此处所述的Java安装文件夹(这可能是您的主要原因,因为Windows Defender访问时扫描整个Java系统库(并排除包含依赖项的文件夹(例如Maven存储库(应该可以消除延迟。但请记住,这也会带来安全风险,尤其是排除 Maven 存储库时,您通常不会注意下载到其中的内容。

通过使用较新的Java VM或/和使用具有共享类缓存的Eclipse OpenJ9 Java VM,可以进一步缩短启动时间(对我来说,Eclipse和其他Java应用程序从OpenJ9开始的时间大约是HotSpot VM的三分之二(。

发现问题。是Dynatrace代理导致了这个问题。

感谢@howlger通过命令行上的"显示命令行"指示执行,这确定了问题不是由 Eclipse 引起的。

使用-verbose标志运行 java 命令显示以下 3 个 jar 正在加载

[已打开 C:/PROGRA~2/DYNATR~1/oneagent/agent/bin/1.175.224.20190905-115725/any/oneagentjava.jar]

[已打开 C:/PROGRA~2/DYNATR~1/oneagent/agent/bin/1.175.224.20190905-115725/any/oneagentjava.rmi.jar]

[已打开 C:/PROGRA~2/DYNATR~1/oneagent/agent/bin/1.175.224.20190905-115725/any/oneagentjava.sql.jar]

然后卸载 Dynatrace 代理就可以了

现在程序执行立即从命令提示符和Eclipse开始

最新更新