2015-12-03 127 views
0

我收到错误的OutOfMemoryError Java堆空间在执行项目..我收到错误的OutOfMemoryError Java堆空间在执行项目

我的项目是对盗窃检测Java程序使用胎记技术。一种heapsnapshot从谷歌Chrome开发者工具,其中包含大量的节点,以存储在数据库中取..使用AM 的NetBeansMYSQL DATABSE ..

当插入heapsnapshot节点INT o databse会得到错误“java.lang.outOfMemory exception Java Heap Space”,有时会出现另一个与“Exception in FilterChainExecution”相关的错误。我从最近2个月得到这个错误。

我会尝试所有其他选项,如-Xmx512m -Xmx1024m -Xmx2048m -Xms512m ..但couldnot解决请帮我..

+0

你正在使用哪个java版本? – AntJavaDev

+0

使用您的JDK的VisualVm,​​JConsole ...等工具 –

回答

0

你的问题的直接原因是,您的应用程序填充堆。 (显然,这就是OOME的意思)

您一直在尝试的创可贴解决方案是使堆逐渐变大,并且使用各种-Xmx...参数来增大堆。显然它不工作。你不断增加堆的大小,问题反复出现。

这表明你真正的问题是你有内存泄漏,或者你的应用程序必须在内存中保存/组装太多的数据,才能将它保存到数据库中。

如果问题是内存泄漏,那么Web上有大量资源可以检测和修复Java程序中的内存泄漏。

如果问题是您的内存数据结构太大,那么您需要找出一种方法来减少它们。这可能是我们无法帮到你的。


“FilterChainExecution中的异常”可能有些不同,或者它可能仅仅是OOME异常的结果。我们需要看到完整的堆栈跟踪能够回答这个问题。