【发布时间】:2011-05-17 19:53:49
【问题描述】:
我的 Java 服务器中有很多线程。 当一个线程无限地递归调用一个方法时,它会挂起。 该方法被调用54次后,进程挂起,并且没有像“StackOverFlow”或“OutOfMemory”这样的日志。
但是,据我所知,只有出现问题的线程会崩溃,其他线程可以正常工作。
环境:
Linux 版本 2.6.31-20-server (buildd@crested) (gcc 版本 4.4.1 (Ubuntu 4.4.1-4ubuntu8))java版本 “1.6.0_18”Java(TM) SE 运行时 环境(构建 1.6.0_18-b07)Java HotSpot(TM) 64 位服务器虚拟机(构建 16.0-b13,混合模式)
【问题讨论】:
-
Erm...您几乎已经回答了您的问题?您处于调用递归方法的无限循环中。您的问题到底是什么?
-
"当一个线程递归调用一个方法时,它会挂起。"是的,这就是它挂起的原因。那你为什么要问它为什么挂起?我们不是通灵者;我们看不到该线程的代码,因此除非您显示代码,否则我们无法帮助您修复无限递归。
标签: java stack-overflow