I gave the exam today and passed the exam with 90%. It's been 3 months that I have started learning Java and is my first programming language. This is how I prepared:-
1. I read the book Head First Java. I read it pretty hastily and consumed all the knowledge that I could. After I read the whole book I felt it was too much of knowledge to grasp in such a short time and later I started forgetting some of the concepts. I loved how they presented the language Java and I felt I started from the right book. It was a perfect start(that's what I felt).
2. Then I took up the book SCJP6 by Bates and Sierra. While reading I felt so many things to know. I read the whole book and grasped everything. The inheritance topic is very well explained there(actually all the topics but I loved reading inheritance from the book). I'm planning to read that book again, it was fun.
3. Then I took up the book by Mala Gupta, it's a straight forward book and finished soon. Grasped all the ideas but I was still not sure if I am ready. Very good book to focus the concentration on the topics. Really recommended.
4. Took Enthuware exams and failed miserably. While going through each of the answers I made notes about why I flunked. Mostly were silly mistakes or things that was really unknown to me. It tightened my preparation.
5. The day before I read the notes that I made while studying and the review notes from Mala Gupta's book.
I work and I did the above steps. If I had more free time then I might be able to complete it way before. My advice is read, code and take notes and you'll be fine.
Some of the exam questions were very tricky. Don't waste a lot of time in one question and try to put the best possible answer and mark it to check it later once you've finished answering all the questions.