程序员开发难免会遇到头疼的 out of momery 异常,该异常关键是不可捕获,哪个线程抛出该异常,那么该线程除了最后访问finally代码块外,只有退出。
可是退出一般不是程序员所看到的,也就是抛出该异常之后如何处理结下来的工作,并不仅仅就是退出完事了,当然可以把代码写到finally里,但finally 一般都是清理资源。
经测试发现抛出OOM异常之后,其会被Thread类的disPatchUncaughtExceptionHandler()方法捕获,从而终结该线程。
那么如何才能正确处理Out of momery异常呢?下面的代码结构为解决OOM提供了很好的帮助。
package exception;
import java.lang.Thread.UncaughtExceptionHandler;
public class TestOutOfMomeryException {
public static void main(String[] args) {
Thread.currentThread().setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
new Thread(new Runnable() {
@Override
public void run() {
TestOutOfMomeryException.main(null);
}
}).start();
}
});
do {
try {
throw new OutOfMemoryError();
} catch (Exception e) {
System.err.println("catch");
} finally {
System.err.println(" ====== error ======");
printf();
}
} while (true);
}
private static void printf() {
System.err.println("i can");
}
}
可是适当更改,更好的处理OOM问题,可以采用增量控制的方式解决OOM问题
分享到:
相关推荐
解决Out of memory问题,玩游戏的童鞋遇到的问题,希望能帮到那些遇到此类问题的童鞋
总结来说,解决Android中的“Out of Memory”问题,关键在于正确地加载和管理图像资源。对于`ImageView`和`ImageSwitcher`,合理使用上述技巧可以有效降低内存消耗,提高应用的性能和稳定性。在处理SD卡上的图片时,...
最近在跑程序,然后Pycharm就跳出out of memory 的错误提示,可能是由于读取的数据太多导致的,Pycharm有一个默认内存的最大容量上线,跳出提示的是1024M,也就是分配给Pycharm的内内存不够啦! 一、说明: pycharm...
理解并掌握这些技巧对于有效利用GPU资源、避免或解决“CUDA error: out of memory”问题至关重要。在实践中,应结合日志监控和调试工具,对模型的显存使用进行精细化管理,确保训练过程的顺利进行。
标题 "Tomcat Out of Memory" 指的是在运行Apache ...通过以上分析和解决方案,我们可以有效地处理和预防"Tomcat Out of Memory"问题,确保服务器稳定运行。持续监控、优化和学习将有助于提升系统的性能和可靠性。
总之,解决"Out of memory-cannot load design mode"的问题需要深入理解Flex编程和内存管理,同时也需要熟悉所使用的开发工具的配置和限制。通过代码优化、调整IDE设置和保持软件更新,大多数情况下可以有效避免和...
"Out of memory" 是一个常见的...总之,“Out of memory”问题可以通过多种途径解决,包括硬件升级、软件优化、资源管理和配置调整。了解这些问题的根源并采取相应措施,有助于提升计算机性能并避免此类错误的发生。
解决“outofmemory”问题通常涉及以下步骤: 1. **分析堆转储(Heap Dump)**:使用工具如VisualVM或Eclipse Memory Analyzer来分析堆转储,找出占用内存最多的对象和类。 2. **检查配置**:审查`bizsm-mq-services...
标题 "使用Memory Analyzer tool检测OutofMemory异常" 涉及到的是Java内存管理的一个重要环节,即如何通过工具分析并解决程序运行时出现的内存溢出问题。Memory Analyzer Tool (MAT) 是由Eclipse基金会开发的一款...
针对上述问题,尤其是在Web应用环境中,通过调整Tomcat服务器的内存参数是一种有效的解决方案。具体步骤如下: 1. **定位配置文件**:首先,需要找到Tomcat安装目录下的`bin`文件夹,该文件夹中包含了用于启动和...
总之,解决Python运行文件出现“out of memory”问题的关键在于理解内存管理,合理规划数据处理流程,并适当调整程序结构和配置。通过上述方法,我们可以有效地避免或缓解内存不足的问题,让Python程序更加健壮和...
Out of Memory(解决方案).md
通过创建或扩大交换空间,可以为Git提供更多的内存资源,从而成功解决"Out of memory"的问题。 创建或扩大交换空间的方法有很多种,其中一个简单的方式是使用文件作为交换空间。可以使用`dd`命令创建一个大文件,...
标题与描述中的关键词“Tomcat Out of Memory Solution”指向了在运行Tomcat服务器时遇到内存溢出错误(Out of Memory Error)的解决方法。在IT领域,尤其是Java应用服务器环境中,Tomcat作为一款广泛使用的开源轻量...
综上所述,解决PyTorch GPU显存充足却报出“out of memory”的问题需要从多个角度进行排查和优化,包括模型结构、批处理大小、并行计算、版本更新、内存管理和监控等方面。通过这些方法,通常能够有效地避免或解决...
处理"Out of Memory"问题需要根据具体情况采取相应措施,理解内存管理的基本原理对于解决问题至关重要。在日常使用中,定期更新软件、保持良好的系统维护习惯以及合理分配资源,都可以有效避免这类问题的发生。
然而,当处理大量图片时,特别是在用户滚动时实时加载,可能会遇到内存溢出(Out Of Memory,简称OOM)的问题。这是因为Android系统为每个应用程序分配的内存有限,而加载大图或大量图会消耗大量内存。因此,我们...