This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
The volatile keyword has to do with multi-threading. It's a bit hard to explain, but it gives you certain guarantees with regard to multiple threads, for example that when one thread has changed the value of a volatile variable, its new value is immediately visible to other threads (with non-volatile variables this is not always the case because of certain optimizations that the JVM might do). Section 188.8.131.52 of the Java Language Specification explains what it means exactly. If you want to know more about the subject, the book Java Concurrency in Practice is a very good book about multi-threading in Java.