Java常见的内存溢出

作为开发,生产过程总会碰到OOM问题,通常我们常见的无外乎以下几种:

  • OutOfMemoryError: PermGen space

场景:一般常见于程序中使用了大量的jar或class的场景

建议:排查删除不必要的引用jar;必须引用的第三方jar,是否因为版本或引用方式问题,导致常驻内存,GC无法回收。

  • OutOfMemoryError: Java heap space

场景:java虚拟机创建的对象太多;循环依赖引用等,导致GC无法回收,堆内存吃紧

建议:排除项目的死循环、循环依赖;集合类建议设置边界,切忌无限添加。

  • OutOfMemoryError:unable to create new native thread

场景:创建线程数量太多,占用内存过大

建议:排除线程死锁;排除线程池、数据库连接池等各种池的参数设置是否合理,结合实际业务场景,考虑并发场景下的池使用是否恰当。

 

posted @ 2020-10-19 19:31  笨小孩cbq  阅读(85)  评论(0)    收藏  举报