Как стать программистом java? (Java для начинающего)
Ну эта тема подымалась на хабре не раз. Так что всегда сначала пользуйся им.

1) Хорстман «Java Core» 8-изд два тома, Эккель «Thinking in Java» желательно в оригинале.
2) Видио лекции, Лекции по Java, там поищешь своего уровня.
Начинающего в программирование. В теории ООП я знаю единственное практики практически нет. Меня тоже С++ улыбнуло :).