Concurrency bugs include race conditions, code reordering, field visibility issues, live locks, deadlocks and performance related bugs, such as contention and starvation. In this article Java Specialist Dr. Heinz Kabutz examines two threading bugs he discovered in the core Java libraries.
Effective Java, Second Edition by Joshua Bloch is an updated version of the classic first edition, which was the winner of a 2001 Jolt Award. This edition has been updated to discuss Java 6 language features including generics, enums, annotations, autoboxing, the for-each loop, varargs, and concurrency utilities. InfoQ asked Bloch several questions about the areas that the new edition covers.