日期:2014-05-20  浏览次数:21108 次

请教:一个全局对象,new了好多次,是不是导致内存一直增加?
类中定义了一个全局对象,在多处new,但没有赋值null,是不是会导致内存一直增加?

------解决方案--------------------
上代码吧楼主,要看具体情况才知道是否有泄露的情况。
通常来说,一个变量如果不被线程的调用栈以及 static 引用的话,垃圾回收期间会被释放的。
------解决方案--------------------
不会,全局对象只会保存最后一个new的对象的引用,堆中的对象是最后一个new的对象,前面new的对象会被垃圾收集器回收的。
------解决方案--------------------
全局变量只会指向在堆中最后一次new的对象。前面new的被回收。在堆中的对象只要没有指向它的引用,就可以被回收。
------解决方案--------------------
改成局部变量new了再赋值给全局的。