下面是一个使用Future接口进行异步调用的示例代码.我需要对get()方法做一些澄清.
Future<String> future = getAsyncString();
//do something ...
String msg = "";
if (validation)
return;
else
msg = future.get();
//do something else...
return;
Run Code Online (Sandbox Code Playgroud)
将来的变量在方法中初始化,因此在方法执行后GC将很快清除该变量,因为它不再使用.因此,如果代码进入if语句,那么JVM的状态是什么?如果没人会读回来,JVM将如何处理包装结果?它会影响线程池还是线程Executor?