我得到一个java.lang.OutOfMemoryError
,这似乎发生在我做反思的一点上:
obj.getClass().getMethod(methodName, (Class[]) null);
这表明了什么?有谁知道吗?
答案 0 :(得分:2)
代码与
相同obj.getClass().getMethod(methodName)
这表明了什么?
它表示您需要仔细阅读错误消息,因为这不太可能是原因,因为它不会创建非常少的内存。
有人知道吗?
如果确实是错误发生的地方,那么真正的原因很可能就在其他地方。要解决此问题,您需要对应用程序进行内存配置,或者在OOME上进行堆转储或增加最大堆大小(或全部三个)
答案 1 :(得分:1)
抛出内存不足错误的点通常远不及使用大量内存的代码部分。当垃圾收集器检测到内存问题时会抛出它,但这可能是另一个消耗所有内存的线程。
如果您不知道问题出在哪里,最好的办法就是运行一个分析器。
答案 2 :(得分:0)
我认为您没有分配PermGen空间。您可以尝试使用-XX:PermSize = 128M -XX:MaxPermSize = 256M作为应用程序的java命令行参数。
答案 3 :(得分:0)
java.lang.OutOfMemoryError
,因为它没有内存,并且垃圾收集器不能再提供任何内存。
我认为这与obj.getClass().getMethod(methodName, (Class[]) null);
请检查您的应用程序/程序内存不足的原因。