Какую книгу по java купить для новичка?
Вот Эккеля, Хорстмэна хорошо. 
Шилдт — справочник больше какой-то.
       Я бы еще посоветовал присмотреться к книге К. Сьерра, Б. Бейтс - Изучаем Java (Мировой компьтерный бестселлер)(2012). Для новичка очень неплохая и легко читаемая книга.
       При выборе между Хорстманном и Шилдтом, то я думаю что Хорстманн будет немного эффективней и проще читаться.
       Если же ты уверен, то можешь скачать обе книги и сравнить, а потом на основе сравнения электронных копий выбрать книгу, которая действительно могла тебе быть незаменимым помощником на долгие годы.