But, I do not want to focus on passing, and instead, want to offer my opinion to those still studying.
First, do not get discouraged if your progress is slow. Although many people only study 2 months then easily pass, I am not one of them. I exhausted myself for about 8 months, and only saw significant progess in the past couple weeks. Although I felt comfortable with the concepts and understood them, for some reason I could not perform well on mock exams... always averaging around 30-40%. Many times I almost gave up, but I didn't. I just kept going, bit by bit.
I think the first step is to read the K/B book, which is perhaps the best written Java book ever created in the history of mankind. Go through the book a few times and create your own review notes. Then comes the fun part - mock exams, mock exams, and more mock exams.
The best decision I made was to purchase exam-preparation software (I personally used Enthuware). If you stick to any of the reputable exam-prep programs (ExamLab, Whizlabs, etc), you should be just fine. The books are great to develop an "understanding", but the practice exams put that knowlege into practical use.
Overall, don't forget about the basics! I spent so much time studying the concepts that were hard, and almost forgot about the easier things that I take for granted. This was reflected in my score, as I scored the lowest on OO Concepts and Fundamentals, and scored the highest on Concurrency and API Contents (100% on both). Not underestimating the basics is very important!
Again, if you are struggling, get some exam-preparation software! They work! You will watch your mock exam scores go higher and higher! You can do this!