Guia de estudos

Estou estudando Java e pretendo atingir um nivel intermediário a avançado.
Por onde vcs me recomendam comecar a estudar? Tem algum livro completo ou uma apostila na qual eu possa me basear?
Quais assuntos sao mais importantes e eu deve saber de tras pra frente?

Abracos

Java Como programar 6ª edição do Deitel é quase que obrigatório na minha opinião.

Depois dele você decide se quer programar para a web, desktop ou mobile.

Se quiser web você depois vai precisar saber jsp,servlets, ejb e aprender algum framework.

Para construir um código bem construido vai precisar de padrões de projetos.

É uma longa jornada.

O livro Use a Cabeça! Java é uma boa opção.

Abraços.

Se quiser partir pro lado web da força, o livro Use a Cabeça! Jsp & Servlets é leitura quase obrigatória.

Se não tiver problemas com o inglês, as versões originais são ainda melhores pois contém menos erros.

Abraços.

Aprenda, servlets e JSP, EJB e depois veja os frameworks de mercado e os padrões de projetos.