basically the best preparation is :
1) read the official language specification and documentation – you can find this at Oracle:http://docs.oracle.com/javase/tutorial/;
2) write a lot of code while performin 1) such that you understand better the concepts behind and you don’t forget them after 2 days;
3) go to Oracle Education page, search for the OCJP certification and look for the Preparation tab: there you can pass-trough all the topics;
4) there are a lot of books exactly tailored for each certification – it’s a good thing to read them 2 times and understand everithing – but keep in mind that what Oracle offers is the official way, so don;t give it up; you have to combine them;
5) practice practice practice – do all the questions in all the certification books you read – at least 3-4 times, earch for offerings from Oracle for practice exams – for a better than 95% passing score you have to do at least 3000 questions.
Consult the oracle education website and look for OCJP preparation: http://education.oracle.comand look for
prerequisites: these can be exams and/or courses you have to pass before taking the certification.
To clear the information up, it’s a good ideea to call the Oracle Education representative and make sure you’ve got it all.
wish you all success!