Just passed SCJP 5.0 last Friday here in Portland, OR. Read Sierra/Bates cover to cover and exhausted the mock exams on the included CD. I've been coding in Java for 8 years and finally decided to get certified. This was a difficult test for me, and I knew approx. 75% of the material before I even started studying. New to me were: assertions enums printf Scanner regex static imports
I had only used generics with the collections API, so defining generic classes and methods were also new to me. One of the most effective prep practices I did was to use the things I learned on the job. For the past month I've been trying to incorporate as many new (to me) language features as I could. I've been using assert like crazy, and enum a few times, and regex a bunch of times. I'm now reading Mastering Regular Expressions by Friedl. I also wrote a fair amount of code just playing around and testing the sample code in the Sierra/Bates book. I think this helped burn in the content. I did the WhizLabs sample exam and found the questions tougher than those on the real exam, but I do recommend them for adequate prep.
Best of luck to all those preparing for an exam. Study hard and write lots of code!