Java关于死循环创建对象释放内存的问题

代码:
while(true){

//2.
Socket s = ss.accept();
// Thread updateThread = new Thread(new UpdateTask(s));
// updateThread.start();//开启线程
// -- 使用线程池 --
threadPool.execute(new UpdateTask(s));
}
上面代码每次new UpdateTask();但是没跳出循环,java每次执行完一个Runnable任务后会不会释放UpdateTask()的内存?如果不会,要怎样释放?

3个回答

这里不存在你说的内存释放问题吧,你开启的线程执行完成后就销毁了,而此轮循环中创建的对象如果没有再被引用的时候,它的内存会自动被垃圾回收器回收的。

如果任务里执行完,就会自动结束线程,除非你线程里面是while死循环,那样就不行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问