I think no SCJP 5 success story can be complete without the mention of K&B.
I wrote a 100s of small programs to improve my understanding and burn the concepts in. I verified every new concept and every important point by writing code wherever possible. Whenever I answered a mock question wrongly, I actually coded and ran the program to see the output. This really helped me a lot.