java內存泄露補充例子

前幾天寫了個內存泄露的文章,裏面介紹了內存泄露的相關知識:http://blog.csdn.net/u010590685/article/details/46973735
但是裏面給的例子不是很好,今天看到一個很好的例子這裏補充給大家。
假如我們自己寫一個棧,下面是它的pop方法:

    public Object pop(){
        Object object=arrays[size];
        size--;
        return object;

    }

這個方法中我們可以看到pop是把當前的數組的最後一位返回回來,然後把下標往前移動一位,這樣寫的話當我們具體的業務流程中就算不在引用這個對象了,可是java虛擬機依然無法回收這塊內存,因爲arrays數值中任然持有者它的引用,這樣就造成了內存泄露,解決的方法如下:

    public Object pop(){
        Object object=arrays[size];
        arrays[size]=null;
        size--;
        return object;

    }

我們手動把出棧的那個對象的引用設置爲null;這樣就不會造成內存泄露了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章