我运行了一个Java程序,它不会在很长时间内结束。我猜它可能是代码中的一个无限循环,但是我看不到代码(不能修改)。
如何判断它是否处于无限循环中?
这是一个面试问题,我的回答是判断PC(程序计数器)是否在循环中。但是面试官给了我一个提示use stack and heap of that program..。
发布于 2015-06-13 02:31:20
从理论上说,你不能。这就是停车的问题。
实际上,您可以检查调用堆栈中的周期。一旦内存耗尽,Java就会崩溃,并转储堆栈跟踪。乏味的,也许是有用的。
https://stackoverflow.com/questions/30814507
复制相似问题