I will post several posts here talking about the exam. I'll begin with the overloading and overriding
(my favorite part)
Basically
SCJP just wants you know what's the valid overloading and overriding. They will give you some code snippet and you pick one or more correct overloading and overriding methods from the answers. Usually, this kind of questions is not tough. But things become a little complex when mixing with the other testing objectives, such as, "could you overload the main method", "could you override the private method", etc, etc. But in general, SCJP don't give too tricky questions on this objective. So you just master the basic theory of overloading and overriding. Then combine with the other skills.
With regard to modifiers, I want you guys to pay attention to several things. First, top-level class can never be modified with private or protected; Secondly, volatile and final cannot together modify a variable; Thirdly, it's ok to have static inner class and also remember you need not to have an instance of outer class to use the static inner class, this kind of inner class behaves the same way as other static members of a class. I have met some sneaky questions combining all the modifiers together. So please pay some attentions to them.
Then let's talk about
thread. Yes, thread! I got thread questions relating with possible deadlock, running results of multiple threaded code and transferring between different thread statuses. I must admit that this objective is not that easy. I recommend you to write some codes to test synchronization, thread priority. I believe this is the only good way to get more thorough understanding of the mechanism. Sun do have some tricky questions for this part. I agree with all others that this is the most difficult part in SCJP.
OK. I will talk the other issues in the next posts.