¿Qué libros deberían estar en la estantería de cada programador Java?

Core Java ™, Volumen I – Fundamentos (8ª edición) – http://www.amazon.com/Core-Java-…
Gran libro de referencia debe tener, muy detallado por cierto. (especialmente el primero, también puede necesitar el segundo, se sumerge en funciones de lenguaje avanzadas como swing, redes, etc.)

Java efectivo (2da edición) – http://www.amazon.com/Effective-…
más que una referencia le enseña cómo usar el lenguaje correctamente con cada capítulo sobre diferentes aspectos de Java (tanto la primera como la segunda edición para ver cómo cambia el idioma con el tiempo)

Concurrencia de Java en la práctica – http://www.amazon.com/Java-Concu…
Si desea profundizar en el tema de concurrencia y los problemas en Java (la concurrencia es un tema complejo, no espere que el libro sea para principiantes) libro de referencia sobre concurrencia en Java.

Java Puzzlers: trampas, trampas y casos de esquina – http://www.amazon.com/Java-Puzzl…
Siempre es bueno conocer las trampas y dificultades del idioma, los rompecabezas de Java que tipo de libro puede necesitar.

Estos no son obligatorios, solo los que leo y guardo en mi estantería.

Pensando en Java (4a edición) por Bruce Eckel
Introducción a la programación de Java por y. daniel liang
Java Cómo programar por deitel
Java La referencia completa
son muy buenos libros, Thinking in Java es un libro ganador de premios,
verifica su descripción aquí
Amazon.com: Thinking in Java (4th Edition) (9780131872486): Bruce Eckel: Libros
o puede probar un pdf aquí
Pensando en Java (4a edición) por Bruce Eckel
Introducción a la programación Java: versión completa, 8ª edición, por Y. Daniel Liang

Mi mejor lista para cualquier programador de Java …

Java efectivo – Por Joshua Bloch
Referencia completa de Java – Herber Schildt
Concurrencia de Java en la práctica: por Brian Goetz, David Holmes, Doug Lea, Tim Peierls, Joshua Bloch, Joseph
Máquina virtual JAVA – Por Bill Venners