Ho letto da Effective Java che in assenza di sincronizzazione la seguente sequenza A può essere convertita in sequenza B dalla macchina virtuale e questo è chiamato hoisting
. Ho anche letto da qualche parte che se le variabili non sono dichiarate come istruzioni volatili che coinvolgono le variabili possono essere riordinate. Stai issando e riordinando la stessa cosa?Stai issando e riordinando la stessa cosa?
while (!done) sequence A
i++;
if (!done)
while (true) sequence B
i++;
possibile duplicato di [perché l'hotspot ottimizzerà quanto segue usando il sollevamento?] (Http://stackoverflow.com/questions/9338180/why-hotspot-will-optimize-the-following-using-hoisting) –