给定以下代码
var cachedInt = new ArrayBlockingQueue<Integer>(xxxxx);
while(true){
while(cachedInt.offer(randomProvider.nextInt()));
latch.await();
}
jvm 最终会消除 while 循环,因为它没有主体,还是识别条件的副作用并保持循环到位?
不,jvm 不会"优化"你的方法调用。您的病情将反复运行,直到返回 false,副作用将正常发生。