免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 14899 | 回复: 8
打印 上一主题 下一主题

java中如何立即删除一个对象? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-08 22:13 |只看该作者 |倒序浏览
请问:在java中一个对象在运行,如何立即将其彻底删除呢?在c++中可以调用析构函数,在java中有什么好的办法呢?如果调用垃圾回收中的gc相关的方法,是不能立即删除的。

论坛徽章:
0
2 [报告]
发表于 2005-11-08 22:39 |只看该作者
用dispose()让它释放资源不就行了吗?

如果说得不对,别笑话,我是新手

论坛徽章:
0
3 [报告]
发表于 2005-11-09 08:25 |只看该作者
gc不能保证回收无用的对象,也只回收内存中无用的对象.
如果你的内存足够大的话,何用gc去处理.   ///
JAVA没有C++一样的析构函数,建议自己处理重要信息的后事.
可调用System.gc()强迫gc执行.        ///

论坛徽章:
0
4 [报告]
发表于 2005-11-09 11:00 |只看该作者
一般来说不需要自己动手
使用对象本身的dispose()或者把它的引用指向null就应该可以了

论坛徽章:
0
5 [报告]
发表于 2005-11-09 19:51 |只看该作者
我是想设置一种情形:在调用corba对象的请求执行过程中,让对象立即失效。这里我使用deactive-object方法,但是deactive-object方法的机制是对象在本次请求执行结束后才会删除的,不能立即删除。
所以想看看java中有没有立即删除对象的方法,如果能立即删除,则本次对象请求就不会执行结束了。

论坛徽章:
0
6 [报告]
发表于 2005-11-09 19:56 |只看该作者
Java中没有这样的方法。不太了解你的具体需求,对象“失效”是什么概念。如果是网络对象,可以通过断开网络连接的方法来实验

论坛徽章:
0
7 [报告]
发表于 2005-11-09 21:24 |只看该作者
我是在做一个容错corba的项目,就是通过对象的冗余来解决对象失效或主机失效的问题,一个对象失效后,冗余的其它机器上的副本可以继续执行请求。这中间需要对象通过日志来同步,通过错误检测机制来发现对象失效,然后进行错误恢复,提升主成员.....

这里我做实验的时候,需要造成一个对象失效,仅仅是对象失效,所以网络断开是不可以的,网络断开属于主机实效的类型。
所以我想把对象删除来造成对象失效的情形,但是不知道怎样将对象立即删除。

论坛徽章:
0
8 [报告]
发表于 2005-11-09 21:47 |只看该作者
对象肯定是不能删除的,尤其是还有对这个对象的方法调用的时候。你可以试试在你的对象里加上一些其他的控制因素,来想办法让它不再响应你的请求

论坛徽章:
0
9 [报告]
发表于 2005-11-10 08:29 |只看该作者

回复 7楼 chshzhou 的帖子

好像明白楼主的一些想法了,有点意思.
是否思路有点问题?我也说不上来.

可是我帮不上什么,我会关注此贴,望你早日解决了它.///
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP