Откуда начать изучение Java?
Из собственного опыта могу сказать, что изучить язык можно, лишь начав на нем что-то делать.
Это должна быть не очень большая задача, и желательно чтобы был человек, кому можно задать вопросы, а не только гуглить.
Легче учить 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. Это нужно обязательно знать. В русском переводе не видел.
Если предпочитаете просмотреть пару скринкастов перед тем как читать, есть курс от lynda
Java Essential Training with David Gassner
www.lynda.com/Java-tutorials/Essential-Training/86005-2.html

Всё это и выше перечисленные книги гуглятся для «ознакомления».