Java使用单例模式时,创建的对象会不会被垃圾回收?怎样保存不被回收? 如题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用 Static定义一个对象,比如UserMgrpublic Class UserMgr{ static UserMgr = new UserMgr(); public static getInstance(){ return UserMgr; }}static变量是不会被回收的。 单例首先得实例化出来一个对象,把他存起来吧。如果你把它作为一个静态变量存起来,只要不把这个引用置空,那么对象的这份内存将一直被保留。如果你不把它当作一个静态变量,而是类变量,那么保有这个类变量的类,你得保证他只有一个对象。如果上面两点你都没法保证,那就没法保证这是单例了。当一个对象完全不会再被使用时,它才有可能被gc标记,尔后清除,否则,直到内存溢出,jvm崩掉,都不会把它释放掉。 关于提高数据查询的性能问题 我tomcat服务器启动后,我的登陆窗口一关就自动停止了,为什么? 熟悉hibernate下的HQL的高手帮帮忙啊! struts框架:eclipes中出现的布署出现问题!! 学习java与数据库方面的技术应该看写什么书? struts 的棘手问题!那位大哥帮忙!!!! struts2+jfreechart整合时报错,无法显示图片 struts跳转问题。高手请进。 同样的代码application能调用web服务,而applet调用时就出错(内附代码) 麻烦大家推荐几个网站开发水平比较高的公司,非常感谢! 求助!小程序调试问题!急!!! 空指针问题!求救!
public Class UserMgr{
static UserMgr = new UserMgr();
public static getInstance(){
return UserMgr;
}
}
static变量是不会被回收的。
如果你把它作为一个静态变量存起来,只要不把这个引用置空,那么对象的这份内存将一直被保留。
如果你不把它当作一个静态变量,而是类变量,那么保有这个类变量的类,你得保证他只有一个对象。
如果上面两点你都没法保证,那就没法保证这是单例了。
当一个对象完全不会再被使用时,它才有可能被gc标记,尔后清除,否则,直到内存溢出,jvm崩掉,都不会把它释放掉。