What is volatile keyword in Java?