Search code examples
javacompiler-constructionjvmspecificationsscjp

JVM specification and Java compiler code useful for SCJP preparation?


I'm preparing the SCJP exam with the almost official study book ("SCJP Sun Certified Programmer for Java 6 Exam 310-065")

I understand that Java programming is about writing code that fulfills a certain high-level contract; So that Java can stay platform-independent.

However, I have trouble understanding and remembering things when it comes to highly specific SCJP items (and they are numerous)

The book stays high-level and does not provide examples of how one compiler would handle things. This is the same thing for runtime issues (JVM level): things are too much abstract for me. Rules often seems arbitrary and therefore, with no well defined purpose, are difficult to remember. Or maybe it's that sometimes I just don't get the underlying purpose.

And here is the question:

Would a JVM specification and/or some java compiler code help in preparing the SCJP? Have you had the need for such material or is the book sufficient enough? Also, please share the resources you used, apart from the book.


Solution

  • Your question is hard to understand. What does "does not provide examples of how one compiler would handle things" mean? You thought that it was important to italicize "one" - why?

    I'm not sure what you mean by "Java compiler code help."

    I don't believe a Java compiler specification would be any help at all.

    The SCJP tests how well you know the Java core packages on the day you take the test. It's unfortunate that you have to know some esoteric things to pass.

    But I can tell you that the things you are asked to learn are fundamental: You have to know the language syntax to be able to code it well.

    And remember that the certification is only a milepost towards the real goal: being proficient enough with the language to write good code. The certification test is not sufficient for that. You'll have a lot more work and learning to do, even if you pass the test.