Java ,как составить план обучения и с чего начать код?
я не специалист/разработчик по JAVA, и вообще на нем не разрабатываю, но порекомендую такую штуку, которая очень сильно поможет Вам в обучении (она относится абсолютно ко всем ЯПам). 
Суть заключается в том, чтобы крепко освоить базу! Вы должны понимать, что все вокруг строится на БАЗЕ (БАЗОВЫХ основах/принципах). И, если Вы знаете БАЗУ, Вы сможете со спокойной душой изучать совершенно любые штуки, которые на это БАЗЕ и построены.  Опыт на уровне простых методов / классов и do/while/for -) - рекомендую, для начала, очень хорошо углубиться в базу, дабы в будущем очень сильно увеличить Вашу скорость обучения по всем остальным технологиям. 
Вот, как-то так! Удачи в обучении!
..задачи в книгах далеки от реальных
А какие реальные задачи вы хотите решать если у вас нет знаний?
В любом случае вам нужно написать n строк кода, чтобы привыкнуть к синтаксису 
Если вы знаете знаете другой ЯП, то читайте документацию или книги по серьезней.