Hi, Manuel
Probably my strategy could be different from the strategy of others, because when I started to study for the certification I actually did not know anything about Java, although I had been a programmer quite a long time with other technologies, I had never written a line of code with Java when I first started to study.
Something important is that I was not taking the certification to get a job or to show off to my friends what a great programmer I was or to get a salary raise. I simply wanted to learn Java, and I needed a sense of direction, so I decided to use the certification objectives as my north.
It took me between 6 and 8 months to be ready. But as I told you, as my real objective was actually to learn Java very well I sometimes spent a lot of time working on learning things that I knew that were not going to be in the certification exam.
First I got subscription to
Safari Then I loaded two books into my bookshelf:
1) Programmer's Guide to Java� Certification, A: A Comprehensive Primer, Second Edition by Khalid A. Mughal, Rolf W. Rasmussen
2) Java 2� Programmer Exam Cram� 2 (Exam CX-310-035) by Bill Brogden, Marcus Green
I used the first one the most. I read every chapter and practice and verify every single assertion on the book. When I finished reading the book the first time, I did it once again, and once again after that. At the end I read the whole book like three times.
I did not use an
IDE like Eclipse or Netbeans, instead I used an editor named
Programmers Notepad, it is a simple open source editor like Textpad.
This way I forced myself to really learn the API. As the editor does not have intellisense, I had to do an extra effort to learn the import path of the classes I used and I had to remember the method signatures and I had to compile and run the code from the command line. All that helped me a lot.
Actually I still do that today when I am learning a new API.
Then I learned to use every single class and method signatures in the java.lang package, except for those of reflection. And I did the same with the Java Collections Framework (JFC), including some classes that other believe that will not be part of the exam like IdentityHashMap or WeakHashMap.
I actually took the javadoc API and reviewed, in the tree structure, every single class,one by one, until I was aware of every method, its purpose and how to use it.
Then I suscribed to the JavaRanch. At the beginning it helped me a lot to ask questions and after my understanding started to grow it help me even more to try to reply to some of them. Even today when I see a question whose answer I do not know (which happens very often) I try to do some research to find the answer. Hence I think JavaRanch is an excellent source of motivation for me.
When I saw many people quoted the JLS for some answers I decided I had to read the JLS. Hence I bought the Java Language Specification 2dn Edition (JLS), the JVM Specification 2nd Edition (JVMS), Java Programming Language 3d Edition and Effective Java by Bloch.
I took my time to read the most important aspects of those books. And at least the JLS I read it completely, practicing every single thing I thought I did not know and trying to understand every single assertion on the JLS. And I read a couple of chapter of the JVM Specification also, and the chapters I found useful in Effective Java like those about cloning, equals, hashCode, and Comparators.
When I realized that I was almost ready I bought
Whizlabs simulator and after the third time I read the certification book I started to work on the simulation exams.
I wrote down every single mistake I made in the exams and try avoid those traps on the next mock exam.
I worked very hard on the multithreading objectives above all, although at the end it was the topic in which I got the lowest grade in the real exam. A week before the exam I customized Whizlabs to work just on those aspects I thought I was week.
And then the I took the real exam. Modesty apart, I had to say that I had studied so hard that I found it easy in that moment.
I am currently working in
SCJD, and as with the previous exam, I am taking my time to master every API before starting to work on my assignment. At the same time I am part of a group of colleagues from College who is studying for the SCJP 1.5 and that's why I come over here from time to time.
My most important recommendation is: take your time to master every topic and do not schedule the exam until you feel you are indeed ready to pass it.