Na wstępie zaznaczam, że zamieszczam jedynie te pozycje, które miałem okazję przynajmniej "przewertować", zdecydowaną większość czytałem, czytam lub posługuję się nimi na co dzień.
Java SE
1. Allen B. Downey, Think Java How to Think Like a Computer Scientist, http://www.greenteapress.com/thinkapjava/
Prawdopodobnie najlepszy z "lekkich" podręczników przedstawiających programowanie w języku Java z nacelowaniem na jakość tworzonych rozwiązań. Jakość płynącą z prostoty.
2. Joshua Bloch, Effective Java, Second Edition, Addison-Wesley 2008
"Must-read" dla osób myślących poważnie o dojrzałym posługiwaniu się Javą. Nie dla zupełnych żółtodziobów, ale napisana bardzo przystępnie przez jednego z najwybitniejszych ekspertów w ekosystemie.
3. Bruce Eckel, Thinking in Java. Edycja polska, Helion 2011
Książka z gatunku "dobra podstawa pod monitor" (z uwagi na objętość)
. Na pewno nie do przeczytania "duszkiem" ani nie "do poduszki". Ale
obejmuje sobą wielką ilość zagadnień. Godna uwagi "klasyka".
Programowanie współbieżne w Javie
4. Doug Lea, Concurrent Programming in JavaTM: Design Principles and Patterns, Second Edition, Addison-Wesley 1999
5. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea, Java Concurrency in Practice, Addison-Wesley 2006
Obydwie powyższe pozycje to lektura obowiązkowa dla programistów Javy pragnących poznać cechy języka związane z wielozadaniowością. Czyli dla wszystkich programistów języka Java :).
JEE
6. Antonio Goncalves, Beginning Java EE 6 Platform with GlassFish 3, Apress 2009
W-g mnie podręcznik podstawowy w dziedzinie, poza ogromną ilością tutoriali i "luźnych" opracowań