當其中一個執行線程發生堆棧溢出異常時,JVM會退出嗎?當其中一個執行線程發生堆棧溢出異常時,JVM會退出嗎?
1
A
回答
3
可以使用,例如用下面的代碼嘗試爲自己(一個新的線程啓動,並開始,並呼籲a()
其遞歸調用自身作爲觸發而另一個線程打印的東西到控制檯堆棧溢出):
public class SO {
private static void a() {
a();
}
public static void main(String[] args) throws InterruptedException {
final Thread t = new Thread(new Runnable() {
public void run() {
a();
}
});
t.start();
while (true) {
Thread.sleep(2000);
System.out.println("I'm still running @ " + System.currentTimeMillis());
}
}
你會看到你的堆棧溢出錯誤:
Exception in thread "Thread-1" java.lang.StackOverflowError
,你還可以看到的是,印刷線保持愉快地沿着打印。
另請注意,如果EDT線程死亡,它會自動重新啓動。
+1
「EDT」是什麼意思? – 2010-02-12 20:54:07
+0
我認爲這是AWT的「事件調度程序線程」。 – 2010-02-12 21:00:01
相關問題
- 1. JVM不退出時發生TimeoutException異常
- 2. 發生在JVM中的堆棧溢出異常發生在可執行文件中
- 3. 堆棧溢出異常
- 4. 堆棧溢出異常
- 5. 堆棧溢出異常
- 6. 當JVM退出時,堆中的對象會發生什麼?
- 7. IIS中的堆棧溢出異常
- 8. VS可能會警告可能的堆棧溢出異常嗎?
- 9. 當堆棧溢出流程異常拋出時在Visual Studio 2010中查看CallStack
- 10. 獲取堆棧溢出只會影響它發生的線程嗎?
- 11. 如何縮小堆棧溢出異常?
- 12. C#WPF Window.ShowDialog堆棧溢出異常
- 13. 避免堆棧溢出異常
- 14. 調試C# - 堆棧溢出異常?
- 15. AppDomain.FirstChanceException和堆棧溢出異常
- 16. 之前堆棧溢出異常的main()
- 17. 捕捉堆棧溢出異常C#
- 18. 沒有遞歸函數調用會發生堆棧溢出嗎?
- 19. 使用遞歸函數可能會發生堆棧溢出嗎?
- 20. 堆棧溢出堆棧溢出
- 21. 使用會話內部Getter Setter時堆棧溢出異常
- 22. 多個lua_calls退出並生成「C堆棧溢出」
- 23. F#異步堆棧溢出
- 24. 如果發生DispatcherUnhandledException異常,則在Control.LayoutUpdated中發生異常之後發生堆棧溢出
- 25. 當執行核心Java程序時,com.google.zxing.NotFoundException異常會出現嗎?
- 26. 程序啓動時堆棧溢出異常(CUDA Monte Carlo Pi)
- 27. 因爲遞歸的其他原因會發生堆棧溢出嗎?
- 28. 當聲明一個大型數組時,堆棧/堆溢出
- 29. 在方法調用中引發堆棧溢出異常
- 30. 堆棧溢出
@sai praveen:這些問題都是關於什麼的?家庭作業? – SyntaxT3rr0r 2010-02-12 20:58:47