Seria "Rusz głową!" jest taka sobie, ale lepsza niż jakaś biblia typu "Thinking in Java", więc spoko.
Najlepiej jakbyś robił dużo przykładów, ale niezbyt rozbudowanych, np. zadania ze SPOJa, http://www.spoj.com/
Poczytaj o sposobach sortowania typu Bubble Sort, Quick Sort, Merge Sort itp. Próbuj zrealizować takie przykłady bez użycia oczywiście już wbudowanych w Javie rozwiązań, wykorzystując np. tablice intów.
Przerób materiał z modyfikatorów dostępu. To są podstawy podstaw w Javie, ale jest trochę kruczków, które warto znać, bo w końcu Java to język obiektowy i nie wszystko jest public static void
.
Jak już będziesz miał jakieś pojęcie o powyższych zagadnieniach to polecam zagłębić się w dokumentację Javy i porobić przykłady ze strony Oracle. Nie są jakieś wybitne, ale materiał jest całkiem dobrze opisany.
Następnie poczytaj o wzorcach projektowych, bo one są powszechnie stosowane. Nawet głupi i dobrze wszystkim znany Bean, został dawno temu opisany w pracy teoretycznej, a jako wzorzec jest najczęściej wykorzystywany.
Cierpliwości, bo tego jest sporo, ale do ogarnięcia :)