3

我正在开发一个用 Java 5 开发的 Java 应用程序。我们正在尝试将其更新到 Java 6,因此我们已经开始使用 Jdk1.6。它运行 24 小时,我们没有为此应用程序安排任何及时退回。

这是一个基于线程的应用程序,所有 92 个线程都运行从 MQ 队列获取消息以将数据插入 Oracle 表中。

我的问题是我们有时会在 Java 6 中出现内存不足错误。这是因为我们应该每周/每月及时反弹一次应用程序吗?或者我们应该检查代码中的任何内存泄漏?

只是想知道 GC 是否足以长时间运行应用程序或总是需要重新启动?

4

1 回答 1

0

GC 可以长时间运行。你要么有内存泄漏,要么你的应用程序本质上碰巧使用了比 Java VM 允许的更多的堆空间。

您可以尝试使用-Xmx1g类似的方式运行您的应用程序,以便为您的应用程序提供更多堆空间。

于 2013-03-05T13:20:09.217 回答