/**
* Bean 垃圾回收(GC)示例
*/
public class BeanGarbageCollectionDemo {
public static void main(String[] args) throws InterruptedException {
// 创建 BeanFactory 容器
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
// 注册 Configuration Class(配置类)
applicationContext.register(BeanInitializationDemo.class);
// 启动 Spring 应用上下文
applicationContext.refresh();
// 关闭 Spring 应用上下文
applicationContext.close();
Thread.sleep(5000L);
// 强制触发 GC
System.gc();
Thread.sleep(5000L);
}
}
public class DefaultUserFactory implements UserFactory {
@Override
public void finalize() throws Throwable {
System.out.println("当前 DefaultUserFactory 对象正在被垃圾回收...");
}
}