社区
Java SE
帖子详情
垃圾回收机制(高分求解)
xiaomaha
2008-04-13 08:19:35
JAVA中垃圾回收机,只针对NEW出来的对象,那么在Spring中对象是通过ICO生成的
那么Spring内部是不是通过finalize()方法来释放内存的?
...全文
101
12
打赏
收藏
垃圾回收机制(高分求解)
JAVA中垃圾回收机,只针对NEW出来的对象,那么在Spring中对象是通过ICO生成的 那么Spring内部是不是通过finalize()方法来释放内存的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hmsuccess
2008-04-13
打赏
举报
回复
学习ls
dracularking
2008-04-13
打赏
举报
回复
有很多实现方式 也是基于多种算法的
如
1、引用计数法(Reference Counting Collector)
2、tracing算法(Tracing Collector)
3、compacting算法(Compacting Collector)
4、coping算法(Coping Collector)
5、generation算法(Generational Collector)
6、adaptive算法(Adaptive Collector)
其中的停止-复制算法就是基于copying算法的
该算法的提出是为了克服句柄的开销和解决堆碎片的垃圾回收。它开始时把堆分成 一个对象 面和多个空闲面, 程序从对象面为对象分配空间,当对象满了,基于copying算法的垃圾 收集就从根集中扫描活动对象,并将每个 活动对象复制到空闲面(使得活动对象所占的内存之间没有空闲洞),这样空闲面变成了对象面,原来的对象面变成了空闲面,程序会在新的对象面中分配内存。
一种典型的基于copying算法的垃圾回收是stop-and-copy算法,它将堆分成对象面和空闲区域面,在对象面与空闲区域面的切换过程中,程序暂停执行。
goodmrning
2008-04-13
打赏
举报
回复
学习,顶
xiaomaha
2008-04-13
打赏
举报
回复
[Quote=引用 8 楼 dracularking 的回复:]
是IOC吧 垃圾收集的精确性主要包括2个方面:(a)垃圾收集器能够精确标记活着的对象(b)垃圾收集器能够精确地定位对象之间的引用关系。前者是完全地回收所有废弃对象的前提,否则就可能造成内存泄漏。而后者则是实现归并和复制等算法的必要条件。所有不可达对象都能够可靠地得到回收,所有对象都能够重新分配,允许对象的复制和对象内存的缩并,这样就有效地防止内存的支离破碎。现在有许多种不同的垃圾收集器,每种有其算法且其…
[/Quote]
你这样说垃圾回收是通过很多方式实现的吗?
dracularking
2008-04-13
打赏
举报
回复
是IOC吧 垃圾收集的精确性主要包括2个方面:(a)垃圾收集器能够精确标记活着的对象(b)垃圾收集器能够精确地定位对象之间的引用关系。前者是完全地回收所有废弃对象的前提,否则就可能造成内存泄漏。而后者则是实现归并和复制等算法的必要条件。所有不可达对象都能够可靠地得到回收,所有对象都能够重新分配,允许对象的复制和对象内存的缩并,这样就有效地防止内存的支离破碎。现在有许多种不同的垃圾收集器,每种有其算法且其表现各异,既有当垃圾收集开始时就停止应用程序的运行,又有当垃圾收集开始时也允许应用程序的线程运行,还有在同一时间垃圾收集多线程运行。
xiaomaha
2008-04-13
打赏
举报
回复
[Quote=引用 6 楼 java2000_net 的回复:]
不冲突,对于singleton 的,当然不会被回收了,对于非 singneton的Spring 才不管呢!
OVER, 我在前面已经提到了,你没有仔细看吧! singleton = 单例
[/Quote]
不太清楚什么叫单例模式?能详细讲解下吗?
老紫竹
2008-04-13
打赏
举报
回复
不冲突,对于singleton 的,当然不会被回收了,对于非 singneton的Spring 才不管呢!
OVER, 我在前面已经提到了,你没有仔细看吧! singleton = 单例
xiaomaha
2008-04-13
打赏
举报
回复
[Quote=引用 3 楼 kokobox 的回复:]
lz你把头像换换吧,看到四次了
gc 垃圾回收器,有几种算法,你到网上可以查得到,例如:判断对象是否可达,是否为null
在spring中,他把对象注入到gc不可到达的地区,所有在spring中的对象一旦被注入就不会被gc回收的,是spring来控制是否回收的。
[/Quote]
我都不知道你和java_2000.net 哪个说的对了!!!!!!!!
xiaomaha
2008-04-13
打赏
举报
回复
java2000_net
你好!感谢你这段时间给予我的帮助!感谢你咯!
还有一个问题`````
对于其它的new出来的大量对象,当没有任何有效引用时,会被自动标记为可回收。 然后在下一个垃圾回收调度时被回收掉!
指的是JAVA回收的"标记-清除"
那么其中的还有项技术叫"停止-复制" ,在垃圾回收机制中好象是通过两者交互使用的,`那么他们是如何判定的?
kokobox
2008-04-13
打赏
举报
回复
lz你把头像换换吧,看到四次了
gc 垃圾回收器,有几种算法,你到网上可以查得到,例如:判断对象是否可达,是否为null
在spring中,他把对象注入到gc不可到达的地区,所有在spring中的对象一旦被注入就不会被gc回收的,是spring来控制是否回收的。
老紫竹
2008-04-13
打赏
举报
回复
通过ICO生成的?
怎么生成?还不是得 new, 所以没有区别。
对于单例的,因为只有一个,只要还在用,不存在垃圾回收的问题。
对于其它的new出来的大量对象,当没有任何有效引用时,会被自动标记为可回收。 然后在下一个垃圾回收调度时被回收掉!
J_Factory
2008-04-13
打赏
举报
回复
楼主你的头像好丑~~~~~
gc自动回收的吧,finalize()很少看到用
数据结构与Java算法第四版
该资源为数据结构与Java算法第四版,Data Structures and Algorithms in Java 4th Edition,可用于学习数据结构相关知识。
51c大模型~合集128
例如,一系列(公认)无法在多项式时间内解决却可在多项式空间内解决的 NP-Complete(如旅行商等等),对于使用有限精度 Transformer 的 CoT 而言至少需要超越多项式(例如 exp (n))规模的上下文长度,在真实应用中由于内存的限制完全不可行;纵观计算机科学的发展历史,这一「随时清理」的理念早已渗透到几乎所有计算模型之中:从最早的图灵机模型中,已读写的磁带符号可以被覆盖或重写,直到现在高级编程语言中,
垃圾回收机制
会自动清理不再可达的内存单元。随着问题规模增加,两者之间的差距愈发明显。
【kaggle竞赛】毒蘑菇的二元预测题目相关信息和思路
求解
代码
毒蘑菇的二元预测 您提供了很多关于不同二元分类任务的资源和链接,看起来这些都是Kaggle竞赛中的参考资料和
高分
解决方案。为了帮助您更好地利用这些资源,这里是一些关键点的总结: Playground Season 4 Episode 8 主要关注的竞赛: 使用银行流失数据集进行二元分类。 数据集: 已经重新组织并发布供参考。 热门解决方案: LightGBM 和 CatBoost 模型 (得分 0.8945)。 XGBoost 和随机森林模型。 神经网络分类模型。 其他相关的竞赛和
数据结构考研
高分
必备习题集完整版
二叉树是一种层次化的非线性数据结构,其每个节点最多有两个子节点,分别称为左子节点和右子节点。形式上,一棵二叉树可以递归地定义为:空树,或由一个根节点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。这种结构天然适合表达具有分支关系的数据,如文件系统目录、表达式解析树、决策路径等。从数学角度看,二叉树具有一系列重要的结构性质。例如,在深度为 $ h $ 的满二叉树中(所有层都完全填满),总节点数为 $ 2^h - 1 $;
【信息科学与工程学】【数据科学】数据科学领域 第十二篇 大数据主要算法03
这个深度扩展的表格系统展示了Apache Hadoop HDFS的完整技术体系:文件系统操作:打开、创建、重命名、删除、目录操作流操作:输入流、输出流、随机访问、刷新同步管理命令:文件操作、集群管理、高可用管理配置管理:配置读取、类型安全、默认值支持分布式存储算法:副本放置、数据平衡、数据修复、垃圾回收一致性算法:租约机制、版本控制、原子操作、元数据同步存储优化:视频、音频、图像、3D模型、点云、医学影像处理流水线:采集、预处理、特征提取、分析、后处理、归档管理界面:Web UI、命令行、图形客户端、移动端
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章