I'm studying for the SCJP, too ... just go through the K&B SCJP Guide twice, do the mocks and concentrate yourself on the "two-minute-drill" after each chapter.
In addition, I've prepared so-called memory
cards with questions and answers - in the meantime, I've reached the amount of 500 self-made
cards.
A card may look like this:
recto (blue):
can an abstract class be instantiated?
verso (red):
no, it can't
(... from "two-minute-drill", chapter 1, "declarations and access control")
Concerning these cards, I'm not only concentrating on the summaries, but also on mock exams and exercises:
when I fail (because I've ignored an important detail or fact), I write the code fragment (or the ignored fact) on the card - with the response (or correction) on the other side.
Concrete example:
K&B - Chapter 1 "Declarations and Access Control" - Self
Test No. 9:
Given:
What is the result?
A. 13
B. Compilation fails due to multiple errors
C. Compilation fails due to an error on line 6
D. Compilation fails due to an error on line 7
E. Compilation fails due to an error on line 11
Answer: D is correct. The Short myGold is autoboxed correctly, but the countGold() method cannot be invoked from a static context.
You can bring out a lot concentrating only on the above mentioned informations:
card 1: can a non-static method be invoked from a static context?
card 2: write down the code fragment and ask yourself, when you are waiting for the train ...
card 3: can a Short be "put" into a method waiting for an int?
You see - it depends on you - just figure out what your weak points are ... and don't hesitate to write, write .... and write a lot of such memory cards.
You don't need to go through all 500 cards once: when I leave home, I pick a pack of between 100 and 200 cards and I go them through when I'm bored or waiting for s.th.
Another hint: the only fact of writing down the stuff makes it a lot easier to learn it by heart - you'll see: there a many things you need to memorize!
Hope it helps!