Из собственного опыта могу сказать, что изучить язык можно, лишь начав на нем что-то делать.
Это должна быть не очень большая задача, и желательно чтобы был человек, кому можно задать вопросы, а не только гуглить.
Легче учить Java, зная C++. Они по синтаксису очень похожи (правда на этом похожесть и заканчивается).
И еще — начните с платформы Java SE (Standart Edition).
Технологии, входящие в Java EE (Enterprize Edition) начинайте изучать не раньше, чем через год активного программирования на Java SE, иначе рискуете получить полную мешанину в голове.
Из литературы рекомендую:
1. Философия java (Thinking in Java), Брюс Эккель, 4е издание (чтобы понимать принципы языка)
2. Гербердт Шилдт, Java SE6 и Java2 — в качестве настольных книг
3.
Java Code Conventions. Это нужно обязательно знать. В русском переводе не видел.