【发布时间】:2013-05-17 10:59:42
【问题描述】:
即使对象有引用(c# 或 Java),我如何删除它?
例如:
void Main()
{
var f = new Foo();
var person = f.GetPerson();
}
public class Foo
{
private object _person;
public Foo()
{
_person = new object();
}
public object GetPerson()
{
return _person;
}
}
我想从内存中删除_person,我该怎么做?
【问题讨论】:
-
_person = null;使 _person 有资格进行垃圾回收,但您无法确定垃圾回收器何时将其从内存中删除 -
@PermGenError 不幸的是,我无法从 Main 方法访问 _person。
-
@Neir0 你的 Foo 中没有 set_person(watever) 吗?
-
@PermGenError _person 是私有字段,如果我可以从外部代码(而不是 Foo)更改它,那么公开它不是更好吗?
-
你真正想要达到什么目的。如果您更清楚地解释问题,范围更广,人们可能会提供帮助。
标签: c# java garbage-collection