本人启动一个后台系统,使用Jprofiler做内存监控,发现一个令人难以理解的地方就是,我这里只是启动什么都没做.发现内存使用size一直在增加,等增加一定程度又进行释放了.这个是什么情况呢?
第一次一直上升:
后面又进行释放:
谁能帮忙解释下吗?
本人启动一个后台系统,使用Jprofiler做内存监控,发现一个令人难以理解的地方就是,我这里只是启动什么都没做.发现内存使用size一直在增加,等增加一定程度又进行释放了.这个是什么情况呢?
第一次一直上升:
后面又进行释放:
谁能帮忙解释下吗?
Java项目启动后,会产生很多对象,当对象达到GC的阈值后,就会触发young gc 或 full gc。因此,就会释放很多内存空间,如你提供的所示。
gc最频繁的是年轻代的Eden 区、Survive0和Survive1。
具体可以学习,给自己充电:https://blog.csdn.net/qq_17555933/article/details/51460417、https://blog.csdn.net/qq_17555933/article/details/107439578