Ume*_*yat 8 java jvm out-of-memory
什么是对得到一个Java程序的行为的OutOfMemoryError.有没有明确的行为?进程是崩溃还是进入等待/睡眠状态?
更新:如果我没有在我的代码中处理它?
Joa*_*uer 14
并OutOfMemoryError
像任何其他异常一样处理:
但是,有两个因素在其他例外中并不存在:
OutOfMemoryError
是一个Error
而不是一个Exception
.这意味着它不太可能被捕到任何地方:你不应该试图捕捉到Error
一般情况(极少数例外情况)并且通常不会这样做,因此处理它的可能性相当低.OutOfMemoryError
发生并且没有任何对象因此而有资格获得GC时,那么你仍然会留下很少的记忆,并且你可能会在以后再次遇到完全相同的问题.如果发生这种情况的线程是唯一的非守护进程线程(通常,但不一定,这是执行该main
方法的主线程),那么该线程被杀死会导致整个JVM关闭(通常被视为"崩溃").
所以tl; dr是:它可能会杀死线程,如果内存问题没有解决,那么这可能发生在越来越多的线程上.
归档时间: |
|
查看次数: |
3346 次 |
最近记录: |