社区
Java SE
帖子详情
单实例回不会被 垃圾回收..
Mybeautiful
2006-12-04 11:16:30
有一个类作为单实例引用...
但这个单实例仅仅被另外一个类的 某一个方法引用。。
请问: 这个单实例是否会 被垃圾回收?
并请给出解释。
...全文
145
6
打赏
收藏
单实例回不会被 垃圾回收..
有一个类作为单实例引用... 但这个单实例仅仅被另外一个类的 某一个方法引用。。 请问: 这个单实例是否会 被垃圾回收? 并请给出解释。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fool_leave
2006-12-04
打赏
举报
回复
会不会回收主要看这个实例是不是还有引用
A.instance.setMsg("")
A是什么?一个实例?还是静态的?
如果A是一个class,instance是一个静态变量,那么instance实际上是有引用的(定义的地方就是)
如果A是一个实例,那我觉得你的方法在编译的时候就该报错了
要不然把代码贴出来
Mybeautiful
2006-12-04
打赏
举报
回复
A是单实例
B有个方法中调用了A
A.instance.setMsg("");
没有其他地方再引用A.
fool_leave
2006-12-04
打赏
举报
回复
不明白
但这个单实例仅仅被另外一个类的 某一个方法引用。。?
具体点
Mybeautiful
2006-12-04
打赏
举报
回复
谢谢fool_leave() ,看有没有更多意见,要是大伙都没有意义就结贴了。
fool_leave
2006-12-04
打赏
举报
回复
static实例是存放在单独的空间里的
self=new SiglonTest();相当于给self定义了一个新的实例。这个实例是存放在静态空间的,其引用就是self,所以不会回收,除非self=null一下
Mybeautiful
2006-12-04
打赏
举报
回复
谢谢 fool_leave() ,经过测试,它确实是用引用,不会被GC干掉..但本身就是引用,不甚明白。。
以下是测试代码:
public class SiglonTest {
private SiglonTest(){
}
private static SiglonTest self;
public static SiglonTest instence(){
if (self==null)
self=new SiglonTest();
return self;
}
private String msg="initial";
public String getMsg(){
return msg;
}
public void setMsg() {
msg="change";
}
}
public class GcTestSiglon {
public void test() {
SiglonTest.instence().setMsg();
}
public void testget() {
System.out.println(SiglonTest.instence().getMsg());
}
public static void main(String argv[]) {
GcTestSiglon gct = new GcTestSiglon();
gct.test();
try {
Thread.sleep(1000000); \\slpee 1000 秒,等GC处理
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
gct.testget(); //事实证明,GC没有处理
}
}
100家大公司java笔试题汇总
从网上找到的在这里分享一下,可能有点不全或是普遍,但是有答案。
VS2005典型
实例
大全(C#)源码
VS2005典型
实例
大全(C#)源码
lua-5.1中文手册
lua-5.1中文手册 在线查看:http://manual.luaer.cn 由http://www.luaer.cn 中国lua开发者友情提供!
提升JVM性能:CMS
垃圾
回
收
器的优化分析与案例研究
本文介绍了CMS(Concurrent Mark-Sweep)
垃圾
回
收
器的工作原理、优缺点及常见问题,并通过具体案例分析了其优化策略。重点探讨了CMS的各个阶段,包括标记、并发清理和重标记,分析了可能导致性能瓶颈的因素如停顿时间过长和内存碎片化。文章还分享了调整
垃圾
回
收
参数、结合其他
垃圾
回
收
器以及内存优化等方法,帮助提高CMS的
回
收效率和性能。最后,文章展望了随着JVM发展,结合新一代
垃圾
回
收
器优化的趋势,助力Java应用在高并发环境下的性能提升。
单
例模式与
垃圾
回
收
单
例模式创建的对象是否会被JVM
回
收 在
单
例模式中,如果对象长久没有被使用,该对象是否会被JVM进行
垃圾
回
收
呢? 在
回
答这个问题之前得先弄懂JVM会在什么时候对对象进行
垃圾
回
收
的。 JVM如何判断一个对象需要被
回
收 JVM判断一个对象是否需要被
回
收,得对这个对象进行可达性分析。所谓的可达性分析, 就是判断这个对象是否有到达GC Roots的一个引用链,即是否能够到达这个GC
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章