Java 内存溢出的可能性汇总

1 分配的内存太小, 请使用 JVM 参数设置更大的可用内存 
java -Xms512m -Xmx1024m 

2 递归循环了 
3 你把某个对象放到了一个Set/List/Map 里面,用完了有忘了释放 
在你的static 的对象/ 单例类也算 
里面找吧,所有涉及到set/list/map的都差一遍 

4 你把某些集合放到了 session/application 里面了, 
这样,如果session不过期,他们占用内存就不会释放,即使其他地方被null也没用 

5 你的算法有问题,你不应该把大的数据,比如文件和Blob/Clob之类的东西读入到内存进行处理,而应该用Stream的方式进行. 

6 虽然内存空闲总量足够,但GC之后,依然找不到任何一块满足当前请求的连续内存大小时。 
这个同样是涉及问题,也许你申请的太大了。也许那些不用的类,特备是对象缓冲区,应该减少对内存的占用,特备是NNN多的小对象!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值