您不是在显式地存储引用,而是
supplyAsync在内部。该方法创建一个,
CompletableFuture然后向其提交
ForkJoinPool引用的任务(如果您使用的是公共池)。在
CompletableFuture返回的
whenComplete变成了依赖于第一
CompletableFuture,因此也被引用。
一旦
ForkJoinPool完成的执行
Supplier,将第一个标记
CompletableFuture为完成,触发第二个
CompletableFuture,然后执行
BiConsumer传递给,则所有这些对象将可用于垃圾回收
whenComplete。
你安全了。



