Thank you all for the help from this forum!!
Here is what I did (with 2 yrs Java, 1 yr J2EE).
1. Came to this forum first to read related posts and draw a reading list for myself
2. Read the following books:
Cade's Study Guide [several times, try to really understand everything there]
GoF's Design Patterns [overkill for the exam, but very helpful in understanding the subject. for examples in Java, go to http://www.fluffycat.com/java/patterns.html]
UML Distilled [overkill for the exam. Cade's is enough]
Roman's Mastering EJB [careful read]
3. Study other subjects on Leo Crawford's site: http://www.leocrawford.org.uk/work/jcea/part1/index.html
4. Take all the mock tests listed at http://www.geocities.com/rah_73_1999/Actual.html
to know weak points
(helpful in identifying my weakness, which were security, protocol, and legacy. those still turned out to be the areas where i lost my points in the real exam. should have paid more attention to details...)
5. Study the weak areas
go back to Cade's book, really understand everything there. plus, i used the internet a lot, just google a subject, a term, etc. until found good materials.
here, must understand details beyond definitions. particularly how it is used in real world.
6. Take the exam.
time was not ample. don't get stuck on a single question. mark it, move on, then come back.
expect scenario questions on legacy [it would pay off if you really understand what you have read on the subject in your prep]
hope this could be helpful to someone...let me know if you have any questions.