什么是java OOM?如何分析及解决oom问题?【转载】
转载自:https://www.cnblogs.com/ThinkVenus/p/6805495.html 最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习。 1 )什么是OOM ? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector. 意思就是说,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error(注:非exception,因为这个问题已经严重到不足以被应用处理)。 2)为什么会OOM? 为什么会没有内存了呢?原因不外乎有两点: 1)分配的少了:比如虚拟机本身可使用的内存(一般通过启动时的VM参数指定)太少。 2)应用用的太多,并且用完没释放,浪费了