I began to write code by Java in September 2001. Since preparing SCJP, it makes me know more about 'What is JAVA' I referenced maha's steps. First round, go thru R&H book and thinking in java. took some test per charpers. It's very important to test that code when you feel strange or cannot figure out the reason. write down your personal notes and questions for review quickly. take a look for assertion and GC, I think it is very helpful. (I am still confused by GC now. Hah..) Repeat above completely then start to do mock exams and Review your notes. Finally, took Marcus' mock exams, Dan Chisholm mock exam, visited javaranch forum. When I can take 75%-88%, I bought voucher and scheduled SCJP exam. If you want to completely understanding JAVA and have time enough, I suggest should spend more time to study JLS. Because it's really hard for me in reading, I just picked Thread and Lock as well as Execution charpter. This is my preparation for SCJP. Hope it can help you a little. Well, I have to thanks Dan Chisholm and Maha. Dan explanation of test very clear and give me to get correct solution quickly. Maha provide rich resouces realted with SCJP. Thank you all.