Generalnie nie ma jednej dobrej książki, a jesli chodzi o większość to przeczytałem choćby i do prac magisterskich, obrony, albo z racji tego, że jestem specjalistą w Javie.
Jeśli chodzi o pełną książke wiedzy merytorycznej, suchej wiedzy o Javie, to niezmiennie sprawdzi się Kompedium:
https://helion.pl/ksiazki/java-kompendium-programisty-wydanie-xii-herbert-schildt,javk12.htm#format/d
Dobrą pozycją dla początkujących w Javie, dosyć dobrze opisana i przyjemna w czytaniu to :
Efektywne Programowanie:
https://helion.pl/ksiazki/java-efektywne-programowanie-wydanie-iii-joshua-bloch,jave3v.htm#format/d
Dalej książki, powinny rozszerzać wiedzę z javy, która jest niezbędna tzn. wielowątkowość, framework Spring:
Tutaj sprawdzi się na start:
https://helion.pl/ksiazki/spring-w-akcji-wydanie-v-craig-walls,sprwa5.htm#format/e
Oraz potem Spring w Praktyce
https://helion.pl/ksiazki/spring-w-praktyce-willie-wheeler-joshua-white,spripr.htm#format/e
Istotne dla zapoznania się z głównym STREAM APi jest np książka
https://helion.pl/ksiazki/java-8-przewodnik-doswiadczonego-programisty-cay-s-horstmann,jav8pd.htm#format/e
Akurat korzystanie z popularnego STREAM API jest codziennością w pracy