Hi all!!!

I'm very happy... just passed the SCJP2 with 94%

I'd like to thank JavaRanch and every single one of you, the participants, those who have come up with interesting questions... tho I don't speak out that often.. but I lurk in the dark silently, watching you guyz discussing.. oooo..

The first impression that I got from the
test was that some of the questions were designed to trap C++ guys (like me).. (glad to say they didn't succeed though)

For instance... in C++, if a function doesn't have a "throw clause", it means it can throw *anything*... but that's not the case in
Java! And.. no no no, you can't "flatten" a supposedly two dimensional array by "reinterpret_cast<>"-ing it in Java, heheheh

Most of the questions are easy, but be careful! Sometimes when you think that a question is about something, it is actually ABOUT SOMETHING ELSE! I mean, you might think that the question is about loop, you've gone through it manually, but later when you review it, you realize that the code actually won't compile cos it references an instance member from a static function.. or something like that..
I missed 1 on
Thread, 1 on AWT (ouch!), 1 on Overloading.
Preparation was short and hectic.. I only did Marcus's mocks (thanks Marcus!), tried Khalid's mock once (and got 59%, I think

), and that was it. I didn't have the patience to go through all the mock exams out there, and *personally*, I don't think it's necessary, as long as you get the concepts clear.
Regarding the books.. if your budget is tight, buy the one by Khalid, it's REALLY REALLY good. And download the JLS and read it! It's really good for your fundamentals (but I think my C++ experience helps a lot in reading this.. don't think it'll be suitable for people with no programming experience).
I read JLS and Khalid, except for I/O, Thread, Layout Managers, and Collections. For these 4, the best resources (I think) are:
1. I/O: Thinking in Java, Bruce Eckel (chapter 8 I think.. not sure, too lazy to check it out

)
2. Thread: the Thread book by Paul Hyde.. but Khalid's discussion is also good.
3. Layout Managers: "Effective Layout Management" tutorial from Magelang Institute. Personally, I think this is THE BEST tutorial about Layout Managers out there. Oh yeah, one question bout GBL.

AND "The Java AWT: GridBagLayout" by Jan Newmarch, which, I think, explains GBL the best! (
http://pandonia.canberra.edu.au)
4. Collections: "Introduction to Collection Framework" tutorial from Magelang Institute.
Time--I managed to go through the exam twice. If you think you've come across a question that needs some extra thought, mark it and move on.
Things to know:
1. I/O constructors (especially for FileIn/OutputStream)
2. What do the layout managers do?
3. How to override a method correctly? What are the things you can and cannot do? *VERY--REPEAT--VERY IMPORTANT*!!!
4. What are the mechanisms to "signal" another thread that I have done something on my thread?
5. Get the concept about public, protected, "default", and private as clearly as possible!
6. Default constructor, what are they? How do they work? Why are they there?
7. What does each interface in the Collection Framework do?
8. Everything in Java is passed by value!!! *IMPORTANT*!
9. Strings are immutable...
The others are really about the fundamentals.. like promotion.. assignability.. casting.. 1 question on Math class..
Oh, btw, I don't have the patience to write down everything.. so.. no notes

Kay, that's all, I guess!
Thanks again all!

Ray Hsieh

[This message has been edited by Ray Hsieh (edited December 04, 2000).]