tak jednym zdaniem to całkiem spoko suplementem jest książka "Effective Java" Josha Blocha. Stara pozycja, nie tak stara jak Dżawa, ale opracowana przez samego współtwórcę języka. Ogólnie to zbiór dos and don'ts + analizy poszczególnych przypadków/zastosowań. I koleś omawia od A do Z, tylko nie zdziw się, że zajmie Ci trochę czasu, żeby tą pozycję przerobić. IMO, warto mieć pod ręką.
Jak będziesz pisał kod sekwencyjny/jednowątkowy to w zasadzie dużych niespodzianek poza może kolekcjami z java.util nie powinieneś spotkać. Jak będzie to wielowątkowość to zaczną się schody - umiejętne korzystanie z synchronized na metodach i volatile na polach pomoże zaoszczędzić na Aspirynie.
Coś co może warto opanować to interfejsy funkcyjne i lambdy Dżawowe, bo te są mniej intuicyjne niż spotykane w innych językach. Niestety (albo stety) String w Javie to nie jest zwykła lista znaków, i to ma swoje konsekwencje.
I tak poza tym to IntelliJ, debugger, jakieś ćwiczenia do przerobienia i do dzieła!