如何检测 Java 中的无限循环?
How detect infinite loop in Java?
我运行一个Java的节目,好久没有结束了。我猜可能是代码死循环了,但是看不到代码(无法修改)
如何判断是不是死循环?
面试题,我的答案是判断PC(program counter)是否在循环。但是面试官给了我提示use stack and heap of that program
...
理论上,你不能。这就是停机问题。
实际上,您可以检查调用堆栈中的循环。 Java 一旦内存不足并转储堆栈跟踪就会崩溃。乏味,也许可能有用。
我认为你可以使用 try/catch 方法。
例如
尝试{
} 赶上(异常 e){
System.err.println("Infinte Loop Detcted: ");
我运行一个Java的节目,好久没有结束了。我猜可能是代码死循环了,但是看不到代码(无法修改)
如何判断是不是死循环?
面试题,我的答案是判断PC(program counter)是否在循环。但是面试官给了我提示use stack and heap of that program
...
理论上,你不能。这就是停机问题。
实际上,您可以检查调用堆栈中的循环。 Java 一旦内存不足并转储堆栈跟踪就会崩溃。乏味,也许可能有用。
我认为你可以使用 try/catch 方法。
例如
尝试{
} 赶上(异常 e){ System.err.println("Infinte Loop Detcted: ");