These are basic resources for the new Java programmer.
First off, Java was created and maintained by Sun Microsystems (with a great deal of input from pretty much everyone but Microsoft). That means all Sun documentation on Java is authoritative.
Java Coding Conventions - Chances are you don't actually know how to code in Java style. C-Style
is different. This is the way to organize your code so that you don't make other Java coders cry.
Official Java Website - This is the central hub of activity for Java.
Java API - Here you'll find complete documentation on all the core libraries in Java. If you're a new coder, you should have this open in a web browser at all times.
New Features in Java 1.5 - Tiger, Java5, 5.0, etc . . . they all mean Java 1.5. For those using older reference material or familiar with older versions of Java, this is the list of changes/updates (and there are some big ones!) in Java 1.5
New Features in Java 1.6 - Java 1.6 is more of an evolutionary progression of the language than was 1.5, so I'm leaving the links to the new elements of Java 1.5 up as well.
Learning the Java Language - I'll still refer to this sometimes, as it covers things like primitives and packaging . . . things that make up the language as opposed to the API. If you're trying to figure out how binary operators work, how to form a multi-dimensional array, or use a switch statement, the answers can be found here.
Creating a GUI with Swing - This is the best tutorial on Swing I've come across. I'm not very good at graphical interfaces, I'm afraid, as the majority of my coding is J2EE and system code. So all you people asking Swing-related questions, this is the best I can do, I'm afraid.