Java 当其中一个执行线程中发生stackoverflow异常时,JVM是否退出?
当一个正在执行的线程中发生堆栈溢出异常时,JVM是否退出?您可以自己尝试,例如使用以下代码(生成并启动一个新线程,并调用Java 当其中一个执行线程中发生stackoverflow异常时,JVM是否退出?,java,exception,jvm,stack-overflow,Java,Exception,Jvm,Stack Overflow,当一个正在执行的线程中发生堆栈溢出异常时,JVM是否退出?您可以自己尝试,例如使用以下代码(生成并启动一个新线程,并调用a(),该线程递归调用自身以触发堆栈溢出,而另一个线程向控制台打印某些内容): 您将看到堆栈溢出错误: 线程“thread-1”java.lang.StackOverflowerr中的异常 您还将看到打印线程一直在愉快地打印 还要注意,如果EDT线程死亡,它将自动重新启动。@sai praveen:这些问题都是关于什么的?作业 public class SO { pr
a()
,该线程递归调用自身以触发堆栈溢出,而另一个线程向控制台打印某些内容):
您将看到堆栈溢出错误:
线程“thread-1”java.lang.StackOverflowerr中的异常
您还将看到打印线程一直在愉快地打印
还要注意,如果EDT线程死亡,它将自动重新启动。@sai praveen:这些问题都是关于什么的?作业
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() );
}
}