Spring Bean垃圾回收
- 覆盖对象的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垃圾回收相关推荐
- Spring IoC容器管理的Bean能够被垃圾回收吗?
/*** Bean 垃圾回收(GC)示例*/ public class BeanGarbageCollectionDemo {public static void main(String[] args ...
- 一文详解,jvm内存分代与垃圾回收原理
jvm运行时数据区 Java程序启动后,本质上就是启动一个jvm进程,jvm会将自己管理的内存划分为几个区域,每个区域都有自己的用途.在程序运行时的内存区域主要可以划分为五个,分别是:方法区.堆.虚拟 ...
- 带你读懂Spring Bean 的生命周期,嘿,就是玩儿~
带你读懂Spring Bean 的生命周期,嘿,就是玩儿~ 一.前言 今天我们来说一说 Spring Bean 的生命周期,小伙伴们应该在面试中经常遇到,这是正常现象.因为 Spring Bean 的 ...
- Spring bean相关
Spring中指定Bean的作用于的方式 以下四种为例: 单例(默认,可以不用特殊表明) @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) ...
- 初始化Spring Bean:Bean初始化有哪些方式?
/*** Bean 初始化 Demo*/ @Configuration // Configuration Class public class BeanInitializationDemo {publ ...
- 实例化Spring Bean:Bean实例化的姿势有多少种?
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Spring bean 不被 GC 的真正原因
概述 自从开始接触 Spring 之后,一直以来都在思考一个问题,在 Spring 应用的运行过程中,为什么这些 bean 不会被回收? 今天深入探究了这个问题之后,才有了答案. 思考点 大家都知道, ...
- spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?
前言 今天和大家分享一下Spring中Bean的生命周期的一些知识.先来说一下什么是生命周期吧,生命周期从其语义上理解就是一个对象从产生到销毁的整个过程,之所以把这个过程称为生命周期是因为其就像一个生 ...
- 新手一看就懂的Spring Bean生命周期
Bean的作用域 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean.简单地讲,bean就是由IoC容器初始化.装配及管理的对象 几种作用域中,requ ...
最新文章
- ExtJs之gridPanel的属性表格,编辑表格,表格分页,分组等技巧
- 8086汇编复习1 - 并使用emu8086模拟器查看效果
- Gooogle Test中的TEST()宏代码分析
- 【机器学习】逻辑斯蒂回归概率计算和手动计算对比
- 改了上百遍!记上海交通大学第一篇《Science》
- 面试题:为什么Java中的字符串对象是不可变的
- 思科网络基础课件_网络自动化认证,你选对了吗?
- 怎么建立socket长连接???
- Windows手动搭建邮箱服务器教程,操作简单易上手
- html视频全套教程,用Dreamweaver讲解html全套视频教程分享
- python 有道翻译,python 简单的调用有道翻译
- 无人机航拍全景图这些事情一定要知道
- python hist函数_Python Pandas.DataFrame.hist()用法及代码示例
- 分类与预测模型效果评价
- 第一讲_SQP添加与查询语句
- JavaScript 中的 Symbols 怎么用
- 自己碰到的一个control +鼠标左键无效问题。
- Using the Scheduler Application - JDE Scheduler Job 原理
- Springboot-项目启动加载类
- 离人眼里的百度百态——献给过往