Amigo, recomendo a leitura de alguns livros como:
Esse livro não é tão didático, mas vai diretamente ao ponto. Acredito que seja o mais usado no meio acadêmico.
[color=blue]Java - Como Programar - 8ª Ed. 2010[/color]
Mais didático, porém com muitas firulas. Um bom livro para começar.
[color=blue] Use a Cabeça Java [/color]
OBS: Os dois livros acima fazem uma explanação geral (e completa) sobre a linguagem Java, apresentando a maioria de seus recursos, entretanto, abordam a “linguagem em si”, deixando de lado frameworks como Hibernate e Java ServerFaces (JSF).
Achei esse livro bem bacana para Aprender JSF, ele aborda o JSF demonstrando como as coisas eram feitas com o JSF 1.2 e como são feitas com o JSF 2.0, introduz também um conjunto de componentes bem conhecido para o JSF 2.0 que é o PrimeFaces. (No meu ponto de vista um excelente conjunto de componentes). O livro aborda os pontos chaves também como os managed bens, ciclo de vida, entre outros…
[color=blue] Programação Java para a Web [/color]
Abraços…