The Java volatile keyword is used to indicate that a variable’s value will be modified by multiple threads. When a variable is declared as volatile, Java ensures that the value of the variable is always read from the main memory, rather than from a thread's local cache, ensuring visibility across all threads. Introduced in Java 1995 with Java 1.0, volatile is a key feature for writing thread-safe code in multithreaded environments.
https://docs.oracle.com/javase/8/docs/api/java/lang/volatile.html