GC回收

在JVM内存中对象回收需要GC系统进行回收,两种回收方式:
1.手动回收(一般不需要手动启动)

system.gc();
1)如何判断GC执行了(通过配置JVM参数:-XX:+PrintGC)
2)如何判定对象被GC了,(通过执行Object的finalize方法)

2.自动回收
Spring Boot中
scope作用域中
single单例创建对象的回收需要没有任何的引用指向,并且bean池中的资源也释放了(池对象的clean方法,一般都是spring实现这个方法; 池对象的remove方法("要移除的的对象"))
prototype 垃圾对象的回收只需要没有任何的引用指向(此对象就会成为一个不可达对象,也就会被认为是一个垃圾对象了);
prototype作用域,每次从Spring获取都会创建一个新的对象

演示内存溢出

由于list一直在被引用所以才会出现内存溢出的情况
图片.png

图片.png


wwwwwwwwwwww
1 声望1 粉丝