Passed CX-310-065 with 87% (which surprised me). Been programming in Java for 10 years. First time I took this type of test. Hardest test since Grad school, 30 years ago - yes, I'm on the old side.
Used Sierra/Bates (Java 5) and Mughal/Rasmussen (Java 1.4) books. Where the two overlap, each covers a topic from a different angle. Mughal is probably more thorough. Took about 2 months prep. Also went through Sun's Proficiency Assessment System (http://www.sun.com/training/certification/assessment/055-Jintro.jsp) and purchased Sun's ePractice exam (WGS-PREX-J065C). I think these last two helped as much as the books.
For Java 6, study the java.io.Console and java.util.NavigableMap and NavigableSet interfaces and where they are used.
They gave me a dry-erase board, which wasn't much help. Had surprising number of drag-and-drop questions. Once you answer those you can't review them. If you try, a warning comes up saying it will reset the question if you go on.
The practice questions in the books are harder than the real questions, but you don't know what pool of questions you're going to get. For example, I got few Java 6 questions and a bunch of import/package/classpath type of questions. You'll have to do well with whatever you get.
3.5 hours for 72 questions is plenty. After answering all of them, I went through in reverse order and challenged myself to prove that other answers were not correct. Of course, the drag-and-drop questions make you start over on them if you try to review them.
Make sure you know the difference between java.lang.Comparable and java.util.Comparator interfaces - I was constantly messing those up practices (first thing I wrote on the dry-erase board).
Can be done - if I did it, should not too difficult for others.