【发布时间】:2019-02-15 17:29:19
【问题描述】:
我想触发许多一次性异步 CompletableFuture,如下所示:
for (Job job : jobs) {
CompletableFuture.supplyAsync(() -> job.process())
.whenComplete(this::doSomething);
}
理想情况下,这些 CompletableFuture 可以在 whenComplete 完成后被垃圾回收。但是,由于我没有存储参考,因此是否存在事先收集它们的风险?
【问题讨论】:
-
在标记阶段,所有可从 Java 线程、本机句柄和其他根源访问的对象都被标记为活动的,以及可从这些对象访问的对象等等。此过程识别并标记所有仍在使用的对象,其余的可以视为垃圾。
标签: java asynchronous garbage-collection completable-future