I'd like to answer the second question (because I'm going to take the exam in a couple of weeks). First of all it is now known as OCPJP (since the certification comes from Oracle.) and refer this
. That should give you a brief idea about syllabus for the exam. From the topics specified there, one can determine that this exam requires pure basics (Also a little amount of advanced topics though). And they'd like to see how strong your basics are.So, I'd suggest pick some nice Java book and start from the basics and go along with the syllabus. Then take some mock tests, try out dumps. After that I guess you'll be probably ready for the exam. Work hard and you'll definitely get it.