Explain Java volatile semantics | PayPal Interview Question