如何在内存不足时生成线程转储Java

如何在内存不足时生成线程转储Java,第1张

如何在内存不足时生成线程转储Java

如何在发生内存不足错误时生成线程转储Java?

您的问题可以简化为:

  • 如何生成线程转储

和:

  • 如何捕获内存不足错误(在这里不要注意naysayer,他们正在错过大图,请参阅我的评论)

因此,这实际上很容易,您可以这样 *** 作:

  • 安装默认的未捕获异常处理程序

  • 捕获未捕获的异常后,检查是否存在OutOfMemoryError

  • 如果存在OutOfMemoryError,请为自己生成一个完整的线程转储,然后要求用户通过电子邮件将其发送给您,或者主动提供自动发送

奖励:它在1.5上也能正常工作:)

 Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler() {     public void uncaughtException( final Thread t, final Throwable e ) {         ...     }

您可能需要调查以下内容:

 e.getMessage();

还有这个:

Thread.getAllStackTraces();

我一直在使用数百种不同的1.5和1.6 JVM(在不同的 *** 作系统上)附带的应用程序中进行此 *** 作。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5565198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存