Java垃圾引用对象的集合

时间:2014-04-23 00:09:28

标签: java garbage-collection

我在我的一个应用程序中遇到了一些奇怪的行为,在我的类的生命周期完成之前,我的一个类的对象(成员变量)被取消,显然导致空指针异常。

似乎在一段时间后发生(可能是由于高内存使用或内存泄漏)。

我知道GC不应该收集所引用的任何对象。但是,在内存不足的情况下,此规则是否仍然适用,并且将为GC提供引用的对象?

我已经敲了一个示例来演示我的代码模式:

提前致谢。

public class WebRequest implements Runnable {

    private WebRequest _Request;

    public WebRequest(WebRequest request)
    {
        _Request = request;
    }

    @Override
    public void run()
    {
        DoSomething1();
        DoSomething2();
    }

    private void DoSomething1()
    {
        String s = _Request.getAttribute(); //Works
        //Do something else, few hundred milliseconds
    }

    private void DoSomething2()
    {
        String s = _Request.getAttribute(); //Results in NullPointerException
    }
}

0 个答案:

没有答案