2 线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间

Posted

技术标签:

【中文标题】2 线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间【英文标题】:2 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 【发布时间】:2012-12-09 17:10:33 【问题描述】:

有人可以帮我解决这个问题吗? 代码:http://pastebin.com/nDG7YGk5

完整的错误: 线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间 在 Stack.push(Stack.java:16) 在 hanukkah.input(hanukkah.java:42) 在 hanukkah.main(hanukkah.java:50)

我没有使用虚拟机, 只是日食。

谢谢。

【问题讨论】:

真的吗?你认为你的代码在哪里运行?在 Eclipse 中? 【参考方案1】:

这是一个无限循环:

 while(n!=0)
 s.push(n);

n 的值在您将其推送到堆栈时不会改变。所以它永远不会等于 0。你可能意味着这是一个 if 语句(以确保用户没有输入 0),或者在扫描仪周围放置 while 循环,以便他们可以继续输入数字,直到他们不输入'不等于 0。

【讨论】:

【参考方案2】:

我认为你的意思是:

int n = Integer.MAX_VALUE;
while (n != 0) 
   n = reader.nextInt();
   s.push(n);

【讨论】:

好的,我想我明白了,让我修复无限循环

以上是关于2 线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间的主要内容,如果未能解决你的问题,请参考以下文章

2-5 守护线程

android handle详解2 主线程给子线程发送消息

54_并发编程-线程-守护线程

iOS中多线程的实现方案

Unity主线程和子线程跳转调用(2)

设置主线程等待子线程执行的方法