社区
Java EE
帖子详情
SoftReference,WeakReference和PhantomReference的区别??!
luohualiushui
2004-09-01 05:39:35
还有,就是他们和ReferenceQueue的关系
Thinking in Java讲的不清楚
哪位大虾在给我说说,一百分答谢!
...全文
612
10
打赏
收藏
SoftReference,WeakReference和PhantomReference的区别??!
还有,就是他们和ReferenceQueue的关系 Thinking in Java讲的不清楚 哪位大虾在给我说说,一百分答谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mylzw
2005-04-23
打赏
举报
回复
我也不是太清楚啊!
觉得引用类就是个不可靠的家伙。
弄不好就没影了~,在用它所持有的对象前需要先检测,如果它被回收,则新建一个。
mylzw
2005-04-23
打赏
举报
回复
我也不是太清楚啊!
觉得引用类就是个不可靠的家伙。
弄不好就没影了~,在用它所持有的对象前需要先检测,如果它被回收,则新建一个。
delphi2java
2004-09-07
打赏
举报
回复
gz
luohualiushui
2004-09-06
打赏
举报
回复
up
luohualiushui
2004-09-04
打赏
举报
回复
up
pfc001
2004-09-03
打赏
举报
回复
http://www.java-cn.com/technology/technology_detail.jsp?id=2903
luohualiushui
2004-09-03
打赏
举报
回复
SoftReference 类
SoftReference 类的一个典型用途就是用于内存敏感的高速缓存。SoftReference 的原理是:在保持对对象的引用时保证在 JVM 报告内存不足情况之前将清除所有的软引用。关键之
~~~~~~
处在于,垃圾收集器在运行时可能会(也可能不会)释放软可及对象。对象是否被释放取决
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
于垃圾收集器的算法以及垃圾收集器运行时可用的内存数量。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WeakReference 类
WeakReference 类的一个典型用途就是规范化映射(canonicalized mapping)。另外,对于那些生存期相对较长而且重新创建的开销也不高的对象来说,弱引用也比较有用。关键之处
~~~~~~~~
在于,垃圾收集器运行时如果碰到了弱可及对象,将释放 WeakReference 引用的对象。然
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
而,请注意,垃圾收集器可能要运行多次才能找到并释放弱可及对象。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PhantomReference 类
PhantomReference 类只能用于跟踪对被引用对象即将进行的收集。同样,它还能用于执行 pre-mortem 清除操作。PhantomReference 必须与 ReferenceQueue 类一起使用。需要 ReferenceQueue 是因为它能够充当通知机制。当垃圾收集器确定了某个对象是虚可及对象时,PhantomReference 对象就被放在它的 ReferenceQueue 上。将 PhantomReference 对象放在 ReferenceQueue 上也就是一个通知,表明 PhantomReference 对象引用的对象已经结
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
束,可供收集了。这使您能够刚好在对象占用的内存被回收之前采取行动。
~~~~~~~~~~~~~~~
---------------------------------------------------------------------------------
谁能告诉我那两个“关键之处”的区别?还有,ReferenceQueue由通知的时候, PhantomReference引用的对象应该已经被收集了,怎么还有“可供收集了”的说法??
这篇文章疑点太多,不知道是作者的错,还是译者的错。
wanglin824
2004-09-02
打赏
举报
回复
关注。。。
ntzls
2004-09-01
打赏
举报
回复
参考
http://www.java-cn.com/technology/technology_detail.jsp?id=2903
【Java设计模式】23种模式全解析:核心思想、六大原则与三大分类体系及框架应用
内容概要:本文系统阐述了23种设计模式的完整知识体系,涵盖其底层思想、六大设计原则、三大分类(创建型、结构型、行为型)及其核心应用场景。文章深入剖析了每种模式的定义、结构、优缺点、代码实现与工程落地案例,并结合JDK、Spring等主流框架源码讲解其实际应用,帮助开发者理解设计模式如何解决代码耦合、扩展性差、复用率低等工程痛点。同时提供了高频面试题解析与易混淆模式对比,强化实战与应试能力。 适合人群:具备Java基础的初中级研发人员,准备Java后端面试的求职者,以及希望深入理解框架底层设计原理的开发人员。 使用场景及目标:①掌握23种设计模式的核心原理与适用场景;②理解Spring、MyBatis等框架底层所应用的设计模式;③应对Java后端开发中关于设计模式的面试考察;④提升代码设计能力,写出高内聚、低耦合、易扩展的高质量代码。 阅读建议:学习时应结合代码示例动手实践,重点关注模式间的对比与适用边界,并联系实际项目或框架源码加深理解,避免死记硬背。
SCUCN-1故障集+安全约束机组组合研究(Matlab代码实现)
内容概要:本文围绕“【SCUC】N-1故障集+安全约束机组组合研究(Matlab代码实现)”展开,系统探讨电力系统在N-1故障场景下的安全约束机组组合(SCUC)问题,旨在实现系统安全性与运行经济性的协同优化。研究通过构建包含机组启停、出力计划、潮流约束、备用容量及N-1安全准则的数学模型,结合混合整数线性规划等优化算法,利用Matlab平台完成仿真求解,并引入YALMIP等建模工具提升建模效率。文档提供了完整的代码实现方案与测试案例,涵盖故障集的生成与处理方法,帮助用户掌握鲁棒性和分布鲁棒优化的基本思想,适用于电力系统安全校核与调度决策支持。; 适合人群:电力系统及相关专业的研究生、从事电力调度、能源优化的科研人员及工程技术人员。; 使用场景及目标:① 掌握N-1安全准则在机组组合中的建模方法与实现流程;② 开展安全约束机组组合(SCUC)与安全约束经济调度(SCED)的仿真分析;③ 利用Matlab/YALMIP快速搭建电力系统优化模型并进行求解与验证。; 阅读建议:建议读者结合文档内容与网盘提供的完整资源(含代码与数据),动手实践建模与调试过程,重点关注约束条件的设定、故障场景的枚举与处理策略,同时参考相关文献深化对鲁棒优化与分布鲁棒方法的理解。
政府园区如何提升区域科技创新决策水平?.docx
政府园区如何提升区域科技创新决策水平?
Java EE
67,535
社区成员
225,849
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章