I am preparing for SCJP 6 exam and I needed advice on the usefulness of reading the Java language specification. As the exam has to do with ones expertise in java code analysis. I am already reading SCJP A comprehensive by Khalid Mughal.
Perhaps useful, but not to prepare for the SCJP.
The SCJP tests your knowledge of the java.lang, java.util, java.io, and other core packages.
The language spec goes into the kind of detail that someone writing a JVM would need. It's not necessary for the SCJP.
But if you're game to dive in, I would not discourage you. Just understand what you'll get out of it and weigh that against your time constraints and opportunity costs.
The book mentioned by org.life.java gives specific example of people who pass with very high correct answers rate. They simply write programs. A lot of programs. So if you want to pass this exam without an issue, all you have to do is just code. A lot.
Good luck!
My advice is this: Go to TopCoder, go to the algorithm section, look at solutions there. This serves three purposes, 1) You get to see how people obfuscate code, which is how it looks on the SCJP 2) You can see solutions and mistakes of people that have submitted and 3) It will give you a look at new problems and ways to test your Java knowledge, as well as your overall programming knowledge.