Thank you all.
Now that I can think properly, I would say that I was prepared to loose marks in 3/4 questions, it is always possible to get few Qs wrong because of a simple trick that u manage to miss, it does not mean that u haven't understood that concept well. On some other day, you might get it immediately; but what hurts most is getting 3 wrong in threads, which has been my strong area in ALL the mocks.
I always scored 100% in threads, IO in all my mocks, in fact I used to loose marks in Declaration & Access control, util, fundamentals etc, anyway that's life!!!
I got 1 wrong in operators and assignment
I got 1 wrong in runtype, casting, oops
and 3 wrong in Threads
And got 100% in other 8 sections including util, which is surprising for me.
Hmmm,
Neelima, I don't think I am the right person to tell you "how to avoid mistakes in threads" (I guess, the answer is to stay calm but alert; though I don't always know how to do that
) , however, I can tell you how I studied for threads, I read it from Mughal, Mughal makes it much clearer. It's a good idea to open Thread.java source file in an editor and study it, you'll notice that lot of methods are native, which is the reason for its platform dependance. Thread is one area where you can not definitely conclude from what you see on ur screen, you need to know the theory quite well. Write programs, write producer-consumer programs of your own, understand them well. I wrote a small interesting program demonstrating synchronized usage under various conditions, where 6/7 threads simultaneously modified a single shared resource, giving them different priorities and watching the output. (What the heck if I got it wrong in the exam, my knowledge stays with me
)
Frankly, thread questions in the
SCJP exams are relatively simpler from Threading issues point of view as compared to the real life complex threading problems. Most of the threading issues show up on multi-processor systems. In the exam, it is usually a small thing like infinite loop, a statement after infinite loop (compiler error) which tests you. Watch out for run() method signature, its return type and accessibility modifier etc.
Generally speaking, it is important to understand how things work and why they work the way they work. Once you understand this, rest is simple.
Yes, the questions on threads - If you JQPlus, ur problem is solved. Else you can try these questions from various mocks listed here. RHE also has good Qs on threads in its chapter based
test on Threads. But it's better to understand those concepts clearly, you can always (unles u r like me
) apply them on any problems at hand.
I have made some last minute revision notes on many topics, I'll compile them in an HTML and put it here if you want.
More later,
- Manish
SCJP
My education was progressive discovery of my own ignorance.