Salut, prima recomandare e sa cunosti bine limbajul: tipuri de date, clase etc.
A doua recomandare e sa intelegi ce iti ofera limbajul java, acele clase pe care le poti importa si le poti folosi.
Ulterior, trebuie sa treci pe framework-uri. Limbajul in sine nu e limitat, dar nu vei rescrie ce au facut mii de alti oameni. Daca e vorba de aplicatii web iti recomand Spring, stiu ca e foarte comun si foarte cautat. Sunt si altele, dar depinde de la caz la caz.
Familiarizeaza-te cu Maven si vezi tot ce poti folosi pentru orice scop: jackson sau mai stiu eu ce, in functie de ce vrei sa faci.