I sat for SCJP 1.4 on the 22nd of September and here is what I learned(
I had the fortune to score 100%). Your millage may vary.
Below are some of the stuff I used.
The book I used was Sun Certified Programmer and Developer for Java 2 by Kathy Sierra and Bert Bates. I highly recomend the book. Its a very easy read and covers almost everything you need to except user vs daemon threads(very small part, see link below). Below is almost everything I used apart from this book.
Classes, Inner Classes, methods attributes a table of
Java Wrapper class comparinson.
Read atleast chapter 8 which contain many examples on the fundementals.
All you need to know about threads minus user and daemon threads.
This is everything you need to know. Very important that you know when to use assertions as stated on this tutorial.
I found this to be a good overview.
The tutorial linked here had material that was already mentioned in the book I used. Still a good tutorial though.
This link has a few good examples about Daemon threads. You need to know the difference between daemon and user threads
Marcus Green mock exam
Has some good questions. Random questions everytime you do this. I got 85% the second time I took it.
The trial has one free test. The interface was very similar to the real thing. The questions are quite good. Got 75% before I took the real thing. If I had come across this test earlier I would have definitely baught its definitely a bargains for the price.
I found the questions by section useful. Didnt realy like the tests questions though. Tried two and got bored :).
Valentin's Mock exams
Very good tool to use when you study because the questions realy test the limits and are very hard.
These are code snipets I used to experiment and learn different behaviors with.
arraytest.java Tests different ways you can and cannot define an array
stringtest.java Tests to see if strings from concat or + refereance the pool(they dont)
trytes.java What happens when you set an exception to null and throw it, click and see what happens :).
testm.java testclass.java What happens if you attempt to override a private method.(you can).
scopetest.java Tests the scope of a variable(scope is within the curly braces the variable is declared within)
Contact: If this document has any errors, or if there is anything I should at it it shoot me an e-mail to Inuka G