Я начинал изучать Java по книге Head first Java, есть русскоязычное издание. Книга+практика+изучение содержимого стандартной библиотеки помогает понять, для решения каких задач не нужно изобретать свой велосипед. Очень удобно это делать в IDE (В моем случае Intellij idea).
Для дальнейшего развития могу предложить книгу из той же серии - Head First Design Patterns. Плюс для вас в том, что примеры в ней тоже на Java. Но лично мне удалось хотя бы что-то в ней понять только спустя год после первого прочтения. В книге описаны многие принципы проектирования программ в объектно-ориентированных языках, т.е. идеи уже более общие, применимые не только в Java.