volatile
La keyword volatile è legata, generalmente, al multithreading del linguaggio Java. Essa indica alla Java Virtual Machine (JVM) che una variabile può essere modificata in modo "asincrona" da diversi thread. La JVM in questo modo ricarica e salva in memoria il valore della variabile ad ogni accesso alla variabile.
Una variabile volatile non può essere final

Vedere anche: synchronized
Esempio: 
class Test { 
    static volatile int i = 0, j = 0; 
    static void one() { i++; j++; } 
    static void two() { 
        System.out.println("i=" + i + " j=" + j); 
    } 
}