在Java中,有没有办法知道StackOverflow
错误或OutOfMemory
异常可能很快发生?
该OutOfMemory
例外可能是一个更简单的一个捉,如果一个人能够获得的内存使用统计程序的,如果一个人知道提前多少内存需要之前使用OutOfMemory
抛出异常.但这些价值是否可知?
对于StackOverflow
错误,有没有办法获得递归深度,以及如何知道递归深度的值会导致错误发生?
通过提前知道这些错误是否会发生,我觉得我可以更优雅地恢复应用程序,而不是看着它崩溃.
我很惊讶我在其他帖子中没有看到这个,但你可以在Java 5/6中使用ManagementFactory来获取大量的内存使用信息.
查看平台mbean服务器页面,了解有关检测Java中的低内存条件的更多信息.我相信你可以设置通知器来在内存使用达到一定阈值时调用代码.