gpt4 book ai didi

java permgen 内存不足,用于 Linux 上的 Swing 应用程序,但不在 Windows 上

转载 作者:行者123 更新时间:2023-12-04 05:41:06 34 4
gpt4 key购买 nike

我有一个 Swing 应用程序,当我在 Windows 上运行它时我没有问题,但是当我在 linux 上运行它时,我在使用它几次后出现内存不足的 permgen 异常。

在 Windows 上我使用 jdk6 更新 32 32 位,在 linux 上我使用相同的 jdk 6,相同的更新版本但 64 位。

当我在 windows/linux 上运行应用程序时,唯一改变的是外观,当我在 windows 上运行它时,我使用一个,当我在 linux 上运行它时,我使用另一个,但它们都来自 jgoodies 站点。

这个问题的原因是什么?

感谢您的帮助

最佳答案

虽然您认为这是 Windows 与 Linux 的问题,但我认为这两个系统之间更显着的差异是 32 位与 64 位。

在 64 位 JVM 上,引用和引用值字段占据两倍的字节数,在其他情况下填充会增加。由于 String 对象包括引用字段等,这足以使对象变大。如果您有大量的字符串文字或手动插入的字符串,这可能会导致更多的永久代使用。

无论哪种方式,显而易见的解决方案是通过 JVM 命令行选项增加 Permgen 的大小。事实上,除了想办法减少应用程序的 Permgen 使用(这可能不切实际)之外,这可能是唯一的解决方案。

关于java permgen 内存不足,用于 Linux 上的 Swing 应用程序,但不在 Windows 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11236001/

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