• 覆盖对象的finalize

finalize()并不是必须要执行的,它只能执行一次或者0次。

Spring Bean垃圾回收肯定是在关闭Spring上下文之后.

Rumenz.java

package com.rumenz;public class Rumenz {public void print(){System.out.println(".......");}//覆盖finalize方法@Overridepublic void finalize() throws Throwable {System.out.println("Rumenz对象被回收");}
}

DemoApplication.java

package com.rumenz;import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;public class DemoApplication {public static  void main(String[] args) throws InterruptedException {AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();ac.register(DemoApplication.class);//启动Spring上下文ac.refresh();//关闭Spring上下文ac.close();System.out.println("Spring上下文已关闭");Thread.sleep(5000L);//强制进行GC是为了观察回收过程System.gc();Thread.sleep(5000L);}@Bean("rumenzz")public static Rumenz rumenz(){Rumenz rumenz = new Rumenz();return rumenz;}}

输出

Spring上下文已关闭
Rumenz对象被回收

由于finalize不是每次一定会被调用,如果没有结果需要多运行几次.


原文: https://rumenz.com/rumenbiji/Spring-Bean-GC.html

Spring Bean垃圾回收相关推荐

  1. Spring IoC容器管理的Bean能够被垃圾回收吗?

    /*** Bean 垃圾回收(GC)示例*/ public class BeanGarbageCollectionDemo {public static void main(String[] args ...

  2. 一文详解,jvm内存分代与垃圾回收原理

    jvm运行时数据区 Java程序启动后,本质上就是启动一个jvm进程,jvm会将自己管理的内存划分为几个区域,每个区域都有自己的用途.在程序运行时的内存区域主要可以划分为五个,分别是:方法区.堆.虚拟 ...

  3. 带你读懂Spring Bean 的生命周期,嘿,就是玩儿~

    带你读懂Spring Bean 的生命周期,嘿,就是玩儿~ 一.前言 今天我们来说一说 Spring Bean 的生命周期,小伙伴们应该在面试中经常遇到,这是正常现象.因为 Spring Bean 的 ...

  4. Spring bean相关

    Spring中指定Bean的作用于的方式 以下四种为例: 单例(默认,可以不用特殊表明) @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) ...

  5. 初始化Spring Bean:Bean初始化有哪些方式?

    /*** Bean 初始化 Demo*/ @Configuration // Configuration Class public class BeanInitializationDemo {publ ...

  6. 实例化Spring Bean:Bean实例化的姿势有多少种?

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. Spring bean 不被 GC 的真正原因

    概述 自从开始接触 Spring 之后,一直以来都在思考一个问题,在 Spring 应用的运行过程中,为什么这些 bean 不会被回收? 今天深入探究了这个问题之后,才有了答案. 思考点 大家都知道, ...

  8. spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?

    前言 今天和大家分享一下Spring中Bean的生命周期的一些知识.先来说一下什么是生命周期吧,生命周期从其语义上理解就是一个对象从产生到销毁的整个过程,之所以把这个过程称为生命周期是因为其就像一个生 ...

  9. 新手一看就懂的Spring Bean生命周期

    Bean的作用域 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean.简单地讲,bean就是由IoC容器初始化.装配及管理的对象 几种作用域中,requ ...

最新文章

  1. ExtJs之gridPanel的属性表格,编辑表格,表格分页,分组等技巧
  2. 8086汇编复习1 - 并使用emu8086模拟器查看效果
  3. Gooogle Test中的TEST()宏代码分析
  4. 【机器学习】逻辑斯蒂回归概率计算和手动计算对比
  5. 改了上百遍!记上海交通大学第一篇《Science》
  6. 面试题:为什么Java中的字符串对象是不可变的
  7. 思科网络基础课件_网络自动化认证,你选对了吗?
  8. 怎么建立socket长连接???
  9. Windows手动搭建邮箱服务器教程,操作简单易上手
  10. html视频全套教程,用Dreamweaver讲解html全套视频教程分享
  11. python 有道翻译,python 简单的调用有道翻译
  12. 无人机航拍全景图这些事情一定要知道
  13. python hist函数_Python Pandas.DataFrame.hist()用法及代码示例
  14. 分类与预测模型效果评价
  15. 第一讲_SQP添加与查询语句
  16. JavaScript 中的 Symbols 怎么用
  17. 自己碰到的一个control +鼠标左键无效问题。
  18. Using the Scheduler Application - JDE Scheduler Job 原理
  19. Springboot-项目启动加载类
  20. 离人眼里的百度百态——献给过往

热门文章

  1. python处理文本文件实现生成指定格式文件的方法
  2. [Java] 蓝桥杯ALGO-27 算法训练 FBI树
  3. html定义不同的类,定义不同的节点类型.html
  4. Keepalived 配置实例
  5. Linux系统性能检测
  6. TimeSten专题:配置TT客户端的简明方法
  7. WIN7 X64 如何删除计算机管理里面一些无效的服务
  8. 【IntelliJ IDEA】不同于ecplise的一些快捷键
  9. 命令窗 创建vue 项目过程
  10. IntelliJ IDEA 2017.1 EAP与异步堆栈跟踪调试器扩展