出现以下几种情况的话,你觉得是出了什么问题 ?
结合 5 点一起来看:CPU 不忙了,gc有抖动,但是年轻代基本稳定,老年代内存一直在变,说明对象应该是直接进去老年代,但是这些对象的生命周期又比较短,所以老年代内存涨涨涨,GC 了之后又下来,然后又涨涨涨,这就叫抖动。
那什么样的对象不进新生代而是直接到老年代?
是大对象。
跟着 GC 抖动的同时,线程数也在抖动,那说明肯定是哪块业务一次请求,new了很多线程,线程里new 了很多大对象,所以老年代大小就上去了, GC 就开始操作了。
等这波线程任务执行完之后,线程就关闭了,对象也就可以回收了,GC操作完之后,老年代大小又降下来了。
基本上就是这么个情况。
5亿个整数的大文件,怎么排序?
超大整数增加求加法?
设计一个秒杀系统
如何导出百万条记录到EXCEL?