Ja podczas nauki korzystam z kilku źródeł:
a) Java. Podstawy. Wydanie IX - Autorzy: Cay S. Horstmann, Gary Cornell
Dla mnie świetna pozycja dla osób, które znają podstawy programowania proceduralnego i obiektowego w jakikolwiek języku.
b)
http://kobietydokodu.pl/
Cudo. Czyta się bardzo przyjemnie, a do tego w sposób jasny i zrozumiały. 11/10
c)
http://pl.spoj.com/
Tutaj można skonfrontować wiedze ze stron, książki ze zbiorem problemów. Dobra opcja, szczególnie polecam dla osób rozpoczynających przygodę w javie. Pamiętaj, pisanie + teoria, daje najlepsze efekty!
d)
https://docs.oracle.com/javase/8/docs/api/ ,
http://stackoverflow.com/
W razie problemów przychodzi na pomoc dokumentacja( dobry nawyk) oraz stackoverflow.