读书人

请问:一个全局对象new了好多次是

发布时间: 2013-10-12 11:54:02 作者: rapoo

请教:一个全局对象,new了好多次,是不是导致内存一直增加?
类中定义了一个全局对象,在多处new,但没有赋值null,是不是会导致内存一直增加?
[解决办法]
上代码吧楼主,要看具体情况才知道是否有泄露的情况。
通常来说,一个变量如果不被线程的调用栈以及 static 引用的话,垃圾回收期间会被释放的。
[解决办法]
不会,全局对象只会保存最后一个new的对象的引用,堆中的对象是最后一个new的对象,前面new的对象会被垃圾收集器回收的。
[解决办法]
全局变量只会指向在堆中最后一次new的对象。前面new的被回收。在堆中的对象只要没有指向它的引用,就可以被回收。
[解决办法]
改成局部变量new了再赋值给全局的。

读书人网 >J2SE开发

热点推荐