Ja evo učim iz knjige Java osnove (JavaCore). Pročitao sam i provežbao do 660 stranice prvog toma knjige koja ima oko 740 stranica. Knjiga je za srednji nivo ali u principu mogu da je čitaju i oni sa osnovnim poznavanjem programiranja. Ja sam koncepte objektno orijentisanog programiranja naučio na faksu u okviru predmeta koji je obrađivao C++. Ono što je odlično je to što autor knjige daje i rešenja na neke konkretne probleme, ne dotiče se samo sintakse i osnovnih objašnjenja već ide i malo dalje. Kažem možda ovo nije dobro za početnike, ne znam. Mogu vam samo reći da mi je teško bilo u početku da čitam knjigu ali sam se kasnije navikao i sad mi ide odlično, prezadovoljan sam knjigom.
Što se tiče ostalih knjiga vezanih konkretno za javu čitao sam neke stvari i iz pomenute knjige Java 6 za 21 dan i na prvi pogled (ukupno sam pročitao oko 15-ak stranica) čini mi se da je stil pisanja prilagodljiviji za početnike, tako da kad bi sad kretao sa javom verovatno bi najpre pročitao Java 6 za 21 dan pa bi onda prešao na JavaCore. Ali pritom bi obavezno pročitao JavaCore, zato što stvarno nudi jedan viši nivo od početničkog.
Imam i drugi tom knjige JavaCore i tu su pokrivene napredne teme Java jezika (višenitnost, baze podataka, napredne GUI komponente, XML obrada, programiranje mreža, internacionalizacija, JavaBeans, itd.).
Što se tiče Thinking in Java i tu knjigu sam pozajmio u biblioteci da vidim kakva je i na prvi pogled mi je zapala za oko jednostavnost u objašnjavanju, nekako je sve pisano da može da razume i neko ko se prvi put sreće sa Javom a dobar je priručnik i nekom iskusnom java programeru.
Još jednom ponavljam da ove dve knjige nisam pročitao tako da možda moje mišljenje nije relevantno. Mišljenja sam da koju god knjigu da odaberete samo bićete u plusu. Slažem se da postoje bolji i lošiji stilovi pisanja ali to utiče na produktivnost u smislu da ako bi nešto naučio za 3 meseca možda možeš da naučiš za 2 i po ali u svakom slučaju se iz svake iole ozbiljnije knjige može naučiti Java. Najbitnije je ne odustajati.
Evo pogledaj malo i ovde šta kažu ljudi, možda ti pomogne:
http://stackoverflow.com/quest...java-book-you-have-read-so-far