记一次 以为 JVM 内存泄露问题

一、需求

主要需求是当查询一段时间的数据的时候,如果数据库没有这些数据,自动生成小时的数据,将数据插入数据库然后拿出来聚合查询,返回给前段。

二、内存溢出现象

当每次查询的时候,可见堆内存一次一次变高,并没有被回收的迹象,而我的Idea 已经卡死不动了
在这里插入图片描述
当我手动执行一次Gc的时候,内存使用量就下来了
在这里插入图片描述
然后我不手动gc 挡eden 区满了 观察现象
在这里插入图片描述
当eden 区满了的时候 系统自动进行了 gc 这样时候eden 区内存就下来了

三、原理

java 的内存机制是 小对象一般都是直接进 eden 区,当eden 区满了的时候 进行一次 minor 将存活的对象放进 service区里面 ,所以上面这个应该是正常现象,但是不明白为啥我的idea 卡死不动了,我电脑存储16 g的 应该不会出现这样的情况才对,当我手动gc一次之后。无论后面内存多高 我的idea 都不会卡死了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值