If you are working in multi-threaded language or doing concurrent programming in Java then you must have face Race conditions in Java. Race conditions are those nightmare of Java developer which takes lot of able to get it right, first they are hard to detect and than Race conditions are hard to fix. Race condition are those hard to find bugs of java concurrent programs which expose themselves of worst time i.e. load under production. only way to get around of Race condition is to avoid them. Code review and awareness of common race condition pattern may help you. In this article we will see some examples of Race conditions in Java to understand it better.