I just passed the SCJA today with 94%. For preparation I used ePractise Examen from Sun, K&B Study Guide SCJP and the Enthuware mock exam JAss+. The Enthuware software was very helpful for my exam preparation and it is definitely worth the money. Thanks a lot!
Nevertheless I found for one question in the 3rd test the demanded answer to be wrong. Interestingly this question was in my real exam today. JAss:
"Identify the benefits of RMI over socket programming."
A. Objects cannot be transmitted in Sockets.
B. RMI is faster.
C. Interactive communication is not possible in Sockets.
D. It is not possible to implement application level communication protocol in RMI.
This is how the question and answer possibilities appear in JAss. The answer A. is supposed to be the correct one. Interestingly the
last option D was different in the real exam. It was more like saying that one does not have to care about communication protocols
on the application level in order to implement RMI. Thus, I was selecting that option in the real exam.
Nevertheless, I thought option A is right the opposite of what SUN says about RMI and sockets. It is possible to serialize objects and transmit them via sockets. See http://java.sun.com/developer/technicalArticles/ALT/sockets/ and section Transporting Objects over Sockets and section RMI vs. Sockets and Object Serialization in the same document.