I took the 6 version instead of 7 solely because most of my clients are currently on version 6. So I didn't want to "master" java 7 concepts and then get all sorts of compile errors, etc in the shop. I eventually plan to take the 7 upgrade.
As far as my experience, I started Java about a year and a half ago. I had zero previous Java experience, but had been a mainframe programmer for four years, so the basic programming mindset carried over. I spent some time just learning Java basics (i.e. using a "Java for Dummies") kind of book. Once I understood the basics, I started preparing for the exam. Probably spent about 3 man-months studying (meaning if you consolidated all of my study time, it would have been from 8-5, Mon-Fri, for 3 months). Not to say that's what it takes, but I had the luxury of setting my own certification deadline, so that's how much time I gave myself.
As everybody else says, the Sierra and Bates study guide is a must. I read it cover-to-cover twice, with a highlighter in hand. Took all of the quizzes, averaging about 40-45% on the quizzes. One thing a lot of people don't mention on here is the separate Practice Exams book (Practice Exam Book
). I started into this book after I felt I had gotten everything I could out of the study guide. This book has 2 assessments (short quizzes) to gauge where you are. Then it has 4 mock exams. It also (after practice exam 1) has a bunch of mini-coding exercises which really help (i.e. code a Collection that will allow duplicates; now code a Collection that won't allow duplicates). I averaged about 50% on these exams.
Finally, I ordered the mock exams through Oracle. These are the closest to the real thing. Sierra and Bates really toughen you up, but it can also be discouraging when you continually score low (if, like me, you score low). Oracle then comes along and gives you a confidence boost
(also telling you how many correct answers to select, which helps). I took two of these and averaged 75%.
One thing I did that the practice exam book recommends, is begin to keep a log of things you get wrong (or get right, but for the wrong reason). So i maintained a log that had things like "remember! you can't access an instance variable in a static method!". That helps a lot, as eventually you get about 200 lines in an excel spreadsheet of comments to yourself which you can read over and over.
One last thing...I took a bunch of mock exams, and all were within my home while my wife and daughter were at work/daycare (AKA zero distractions!). When I took the real thing, I was in a room with about 6 other people, who at times would come in or leave the room, cough/sneeze, etc. I was really nervous about the exam and those small distractions kind of threw me by surprise. So my point, maybe consider taking some mock exams with a little bit of distraction around you if you really want to get as close to the real thing as possible.
As you can tell, I'm pretty excited about sharing this stuff. Hope it helps, and best of luck to y'all!!