Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何释放因垃圾收集而关闭的Executor服务的内存?_Java_Multithreading_Memory Leaks_Garbage Collection_Executorservice - Fatal编程技术网

Java 如何释放因垃圾收集而关闭的Executor服务的内存?

Java 如何释放因垃圾收集而关闭的Executor服务的内存?,java,multithreading,memory-leaks,garbage-collection,executorservice,Java,Multithreading,Memory Leaks,Garbage Collection,Executorservice,我目前正在开发一个使用大量线程的程序 答:我的问题是,一旦遗嘱执行人因垃圾收集而停工,释放他们,最好的办法是什么?我在某个地方读到,我必须访问未来(可运行或可调用),并将其设为null,以便垃圾收集器拾取它。这是真的吗 B-同样的问题也适用于线程池 感谢您的帮助,如果不再有对执行器服务的引用,这应该自动完成。内部线程可调用或可运行的资源在GC完成后被启用,但它们返回的资源除外 如果您想强制运行GC。你应致电: System.qc(); 然后GC将在后台开始他的工作。如果您想释放一个对象,您应该

我目前正在开发一个使用大量线程的程序

答:我的问题是,一旦遗嘱执行人因垃圾收集而停工,释放他们,最好的办法是什么?我在某个地方读到,我必须访问未来(可运行或可调用),并将其设为null,以便垃圾收集器拾取它。这是真的吗

B-同样的问题也适用于线程池


感谢您的帮助,

如果不再有对
执行器服务的引用,这应该自动完成。

内部线程可调用或可运行的资源在GC完成后被启用,但它们返回的资源除外

如果您想强制运行GC。你应致电:

System.qc();

然后GC将在后台开始他的工作。

如果您想释放一个对象,您应该确保不再有对它的引用。如果需要对其进行引用,则无法释放它。很少需要
null
输出reference.gc而不是qc。它不是强制运行GC,而是给JVM一个运行GC的提示。没有保证它会释放任何东西。