Java 1.4 entered its "End-of-Life" process (removal from support and
publication) in December, 2006, and will be obsolete when Java 7 is released
in 2008.
The certification for Java 5 is referred to as "Sun Certified Programmer for
the Java 2 Platform, Standard Edition 5.0". Notice that it isn't "1.5".
The difference between the certifications is that the 1.4 certification
attests to one's knowledge of Java 1.4, whereas the 5.0 certification attests
to one's knowledge of Java 5.
If you navigate to
<
http://www.sun.com/training/certification/java/scjp.xml>
there are links to (expensive) training and (less expensive) practice exams.
To pass, you should be comfortable with all the material in all the Sun tutorials:
<
http://java.sun.com/docs/books/tutorial/index.html>
Obviously you won't need generics and other Java 5-specific features if you're
going for 1.4 certification, but why would you do that? Java 1.4 is
obsolescent, if still widely used, and the Java 5 certification would include
the knowledge needed for 1.4.
To ace the exam, know the Java Language Specification (JLS) cold,
<
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html>
For more docs see
<
http://java.sun.com/javase/6/docs/>
For book recommendations I defer to other respondents.