gpt4 book ai didi

java - JVM 执行应用程序时是否多次读取 jar 文件?

转载 作者:搜寻专家 更新时间:2023-11-01 02:28:35 26 4
gpt4 key购买 nike

对于长时间运行的程序,JVM 是否多次从磁盘读取 .jar 文件,或者它只读取一次并且整个图像都在内存中,直到 JVM 终止?

我正在运行一项耗时约 26 小时的工作,接近尾声时出现 undefined object 异常 (NoClassDefFoundError),我认为这可能是由于我进行了代码更改并重新- 在应用程序运行时从开发环境中导出 .jar(也就是说,我在磁盘上旧文件所在的相同位置创建了一个新文件)。

最佳答案

您可能希望使用标志 -verbose:class 运行您的代码,您会发现类加载非常懒惰。 JVM 只加载它绝对必须继续的类。如果在你的程序结束时,你正在做的事情需要一个以前不是绝对需要的类,它会在那时加载。

这很好地解释了您遇到的错误,您应该注意到您不应该替换正在运行的 jar(或类)文件,正是出于这个原因。

关于java - JVM 执行应用程序时是否多次读取 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15223834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com