关于java内存不足异常的处理.
2009-03-02 16:12
447 查看
有时java程序在内存达到一定程序时.程序将抛出内存不足的问题.
如果有socket连接.socket连接也会断开.但程序却不会退出.现在要处理这异常.
处理方法如下:
1.写一个异常处理类
2.在程序入口处设置
Thread.setDefaultUncaughtExceptionHandler(new NoMemoryDeal());
如果只想在本线程设置则
Thread.currentThread().setUncaughtExceptionHandler(new NoMemoryDeal());
这样.如果程序发生了内存不足时.可以自己进行处理.比如写日志等等...
如果有socket连接.socket连接也会断开.但程序却不会退出.现在要处理这异常.
处理方法如下:
1.写一个异常处理类
public class NoMemoryDeal implements UncaughtExceptionHandler { public NoMemoryDeal() { super(); } public void uncaughtException(Thread t, Throwable e) { e.printStackTrace(); e.getLocalizedMessage(); if(e instanceof java.lang.OutOfMemoryError) { KLinkLog.writeLog(KLinkLog.ERROR, "OutOfMemoryError, app exit!"); //退出程序 System.exit(0); } else { KLinkLog.writeLog(KLinkLog.ERROR,"PID:"+t.getId()+" msg:"+ e.getMessage()); } } }
2.在程序入口处设置
Thread.setDefaultUncaughtExceptionHandler(new NoMemoryDeal());
如果只想在本线程设置则
Thread.currentThread().setUncaughtExceptionHandler(new NoMemoryDeal());
这样.如果程序发生了内存不足时.可以自己进行处理.比如写日志等等...
相关文章推荐
- Java中关于异常处理的10个最佳实践
- 关于Java中使用hessian-3.0.20调用远程服务连接出错异常try catch无法捕捉的问题处理
- Winform应用程序处理图像Image时内存不足异常时的处理方法
- 关于Java抛出异常与处理异常的思考
- Java Notes: 从内存看Java,异常处理
- 关于MAPGIS-IMS java工程出图时候出现COperResult : COperResult异常的处理
- 关于六种Java异常处理程序的陋习
- 关于六种Java异常处理程序的陋习
- zabbix3.0.4关于java服务端程序内存溢出的处理
- 关于存储过程和函数异常出现和JAVA捕获简单处理方案
- 关于Tomcat异常处理:SEVERE: IOException while loading persisted sessions: java.io.EOFException
- 关于java异常处理机制的深入理解
- Java Notes: 从内存看Java,异常处理
- JAVA学习笔记_关于异常机制处理问题
- Java 编程中关于异常处理的 10 个最佳实践
- 关于java异常处理机制的深入理解
- C++和java异常处理中关于finally的区别
- 关于六种Java异常处理程序的陋习
- 关于java异常处理的几个关键字 try catch/throw/throws
- Java面试笔试指南(五)---异常处理、输入输出流、内存管理