Java 为什么重启eclipse会提高我的运行时间

Java 为什么重启eclipse会提高我的运行时间,java,eclipse,Java,Eclipse,所以我运行了一些测试,我的Java应用程序比预期的慢。我关闭并重新启动了eclipse,运行时间提高了近2倍。什么可能导致这种行为?可能是您的测试没有正确终止,因此进程仍在运行。 如果进程仍然处于活动状态,则可以使用Eclipse调试器进行检查 当Eclipse关闭时,它会杀死由Eclipse启动的所有Java进程。可能您的测试没有正确终止,因此该进程仍在运行。 如果进程仍然处于活动状态,则可以使用Eclipse调试器进行检查 当Eclipse关闭时,它会杀死由Eclipse启动的所有Java进

所以我运行了一些测试,我的Java应用程序比预期的慢。我关闭并重新启动了eclipse,运行时间提高了近2倍。什么可能导致这种行为?

可能是您的测试没有正确终止,因此进程仍在运行。 如果进程仍然处于活动状态,则可以使用Eclipse调试器进行检查


当Eclipse关闭时,它会杀死由Eclipse启动的所有Java进程。

可能您的测试没有正确终止,因此该进程仍在运行。 如果进程仍然处于活动状态,则可以使用Eclipse调试器进行检查


当Eclipse关闭时,它会杀死由Eclipse启动的所有Java进程。

这可能有多种原因,但很可能是您的测试使用了大量堆内存,而Eclipse无法快速释放这些内存。重新启动Eclipse会在终止JVM时直接释放内存。这可能是因为,该软件非常占用内存。谢谢!它是可复制的吗?你能排除其他进程正在运行或系统已交换的可能性吗?当时我没有做任何其他事情。time与exec.time并不完全相同,但该程序非常占用内存,因此我认为Java垃圾收集的不确定性可能是原因。它可能有多种原因,但很可能是您的测试使用了大量堆内存,而Eclipse无法快速释放这些内存。重新启动Eclipse会在终止JVM时直接释放内存。这可能是因为,该软件非常占用内存。谢谢!它是可复制的吗?你能排除其他进程正在运行或系统已交换的可能性吗?当时我没有做任何其他事情。time与exec.time不同,但该程序非常占用内存,因此我认为Java垃圾收集的不确定性可能是原因。