Java错误:java.lang.OutOfMemoryError: Java heap space

2019-03-25 13:51|来源: 网路

我很奇怪,在网上查,都说是内存溢出,但是我是在插入数据,sql也很简单,如下:
[02 23:48:45,339 DEBUG] [http-8080-1] sql.PreparedStatement - {pstm-100001} Executing Statement:    insert into zdgxb (zdlsbh,xsbh) values (?,?)  
[02 23:48:45,340 DEBUG] [http-8080-1] sql.PreparedStatement - {pstm-100001} Parameters: [2, 1]

就这么点东西,执行完了就卡在那不动,然后报错。。我真的是无语了。。怎么会这样?
我的框架是spring+struts+ibatis

相关问答

更多

java.lang.OutOfMemoryError:Java堆空间(java.lang.OutOfMemoryError: Java heap space)

如果要增加堆空间,可以在命令行中使用java -Xms<initial heap size> -Xmx<maximum heap size> 。 默认情况下,这些值基于JRE版本和系统配置。 您可以在Java网站上找到有关VM选项的更多信息 。 但是,我建议您分析您的应用程序,以了解为什么您的堆大小被吃掉。 NetBeans包含了很好的分析器 。 我相信它使用jvisualvm在引擎盖下。 使用分析器,您可以尝试查找创建多个对象的位置,对象是否收集垃圾等等。 If you want to incr ...

如何处理“java.lang.OutOfMemoryError:Java堆空间”错误(64MB堆大小)(How to deal with “java.lang.OutOfMemoryError: Java heap space” error?)

最终你总是有一个有限的最大堆使用,无论你运行什么平台。 在Windows 32位这是大约2gb(不是特别是堆,但每个进程的内存总量)。 它只是发生在Java选择使默认值更小(可能是程序员不能创建具有失控的内存分配的程序,而不会遇到这个问题,必须准确检查他们在做什么)。 所以这里给出了你可以采取几种方法来确定你需要的内存量或减少你使用的内存量。 垃圾收集语言(如Java或C#)的一个常见错误是保留对不再使用的对象的引用,或者在可以重用它们时分配许多对象。 只要对象具有对它们的引用,它们将继续使用堆空 ...

引起:java.lang.OutOfMemoryError:Java堆空间(Caused by: java.lang.OutOfMemoryError: Java heap space)

这个错误意味着你的程序需要比JVM允许它使用更多的内存! 所以你几乎有两个选择: 使用-Xmx选项增加程序允许使用的默认内存(例如1024 MB: -Xmx1024m ) 修改你的程序,以便它需要更少的内存,使用较少的大数据结构并摆脱程序中某些点不再使用的对象 正如Peter Lawrey指出的那样,使用一个分析器来查看你的程序在这种情况下所做的一般是一个好主意。 This error means that your program needs more memory than your JVM ...

java.lang.OutOfMemoryError:Java堆空间?(java.lang.OutOfMemoryError: Java heap space?)

column初始化在哪里? 我没有看到它。 但似乎这可能是罪魁祸首。 您正在构建一个字符串数组而不清除它。 column[i++] 。 你在哪里清理那个阵列? 它应该作为循环体的范围,而不是它的外部。 因此在内部循环中,声明String[] column并在该范围内使用它。 Where does column get initialized? I don't see it. But it seems that's a likely culprit. You are building a strin ...

线程“Scanner-0”中的SOLR异常java.lang.OutOfMemoryError:Java堆空间(SOLR Exception in thread “Scanner-0” java.lang.OutOfMemoryError: Java heap space)

找到了 , 增加Java的堆大小: 您可以使用java -Xmx4096m将堆设置为4 GB。 然后,您可以通过它们的(.bashrc,.zshrc)文件将export _JAVA_OPTIONS = -Xmx4096m添加到shell。 https://askubuntu.com/questions/542585/how-to-increase-java-heap-size Found It , Increase heap size of Java: You could use java -Xm ...

如何处理java.lang.OutOfMemoryError:Google App Engine上的Java堆空间错误?(How to handle java.lang.OutOfMemoryError: Java heap space error on Google App Engine?)

如前所述,您可以在“应用程序设置”(在旧的GAE控制台上)将前端实例增加到更大的实例,遗憾的是,这可能对您没有帮助。 如果您确实需要内存密集型操作,请考虑将应用程序的taht部分移动到托管VM或云计算实例,以便您可以更好地控制运行应用程序的环境。 In order to configure memory for an application deployed on GAE, previously there were options to select a Front end Instance C ...

Eclipse:java.lang.OutOfMemoryError:Java堆空间(Eclipse: java.lang.OutOfMemoryError: Java heap space)

我在安装https://extensions.gnome.org/extension/779/clipboard-indicator/后注意到了这种行为。 你是否也安装了这个扩展? 当我禁用此扩展(并重新启动gnome-shell)时,Eclipse中的异常消失了。 你能证实这一点吗? 我在这里发布了一个错误报告: https : //bugs.eclipse.org/bugs/show_bug.cgi?id = 449902 。 I noticed this behavior after i i ...

为什么我得到java.lang.OutOfMemoryError:Java堆空间错误?(Why do I get a java.lang.OutOfMemoryError: Java heap space error?)

您正在使用Scanner hasNext / next错误。 您应该始终在每个next()之前加上hasNext() 。 在您的代码中,您在while循环前面调用next() 。 然后,您使用hasNext()的返回值来终止while循环。 但是......你永远不会在while循环中调用'next()'。 因此hasNext()始终返回true,并且您处于无限循环中。 这个 - 加上前面描述的偷看问题 - 可能会增加你的堆栈,直到你的内存耗尽。 修复很简单。 在while循环中的hasNext( ...

Infinispan:java.lang.OutOfMemoryError:Java堆空间(Infinispan: java.lang.OutOfMemoryError: Java heap space)

存在内存泄漏(最有可能)或发生大量调用。 在内存泄漏的情况下,Stacktrace可能与内存泄漏无关。 它显示了什么是打破骆驼背部的吸管。 添加“-XX:+ HeapDumpOnOutOfMemoryError”的JVM arg来获取堆转储可能有助于找到真正的原因。 Perm Gen也可以无害地从8gb减少到几百MB,它与系统遇到的内存不足错误无关。 This topic is already a few months old, but I was able to resolve this pro ...

java.lang.OutOfMemoryError:grails中的Java堆空间(java.lang.OutOfMemoryError: Java heap space in grails)

为什么将MaxPermSize设置为与最大堆大小相同? 尝试: export GRAILS_OPTS="-Xms1g -Xmx1g -server" 让JVM自动为您设置烫发大小。 如果您发现这还不够,您可以开始调整它。 Why do you set the MaxPermSize to the same as the max heap size? Try: export GRAILS_OPTS="-Xms1g -Xmx1g -server" and let the JVM automatic ...