当我单击"Run“按钮或F11键启动程序执行时,实际执行大约需要8-10秒。
因此,考虑到以下相同的代码
public class Demo {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
单击"Run“按钮或F11键后,它将在8-10秒后打印"Hello”。对于更大的程序,一旦执行启动,它就会运行得相当快。但是最初的开始是唯一的问题
我使用的是"Eclipse for Java开发人员“版本: 2020-03 (4.15.0)
只有一组最少的插件,而且实际上也尝试过禁用Mylyn插件,但是没有效果。
发布于 2020-05-28 13:39:21
发现了问题。造成这个问题的是Dynatrace探员。
感谢@howlger通过命令行上的“显示命令行”引导执行,这就确定了这个问题不是由Eclipse引起的。
使用-verbose标志运行java命令显示加载了以下3个jars
开放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.sql.jar
然后卸载Dynatrace代理
现在,程序执行立即从命令提示符和Eclipse开始
发布于 2020-05-28 11:03:53
这可能不是由引起的,这可以从延迟在运行命令行时是否也发生(运行配置的显示命令行按钮)来看出。
在Windows上,它可能是由Windows 引起的。排除Java文件夹如前所述 (这可能是您的主要原因,因为Windows扫描整个Java on access)和排除包含依赖项的文件夹(例如Maven存储库)应该可以消除延迟。但是请记住,这也伴随着安全风险,特别是排除了Maven存储库,在这里您通常不注意下载到其中的内容。
通过使用较新的Java或/和使用带有共享类缓存 (对于我来说,Eclipseand其他的OpenJ9应用程序在大约三分之二的时间内开始使用HotSpot VM。)的月食OpenJ9 Java,可以进一步缩短启动时间。
https://stackoverflow.com/questions/62058402
复制相似问题