Are singletons overused? Veteran programmer J. B. Rainsberger suggests they might be, explains why, and offers tips for knowing when to use singletons and when to seek more flexible alternatives.
ibm.com/developerworks/library/co-single.html 
Double-checked locking and the Singleton pattern
Peter Haggar examines the roots of the double-checked locking idiom, why it was developed, and why it doesn't work.
ibm.com/developerworks/java/library/j-dcl.html 