Ti consiglio però la versione in inglese...

Ho trovato una versione in italiano che era tradotta veramente malissimo, e spesso è difficile ricostruire anche i concetti!

Per quanto riguarda il volume due contiene soprattutto approfondimenti (eccezioni, descrizioni di librerie standard, ecc...)

Anche Thinking in Java è molto buono e soprattutto approfondito, se li leggi entrambi vai sul sicuro!