Java is a resonably nice language to work in if you don't need to have full control of the machine. There's also a vibrant tools community doing useful tools, and a vibrant open-source community producing innovative libraries and tools.

Performance needs work. A lot of work. The object libraries need as much work as the VM. The performance of Strings is horrible.

Sites

Sun Java Home
The root of Java.
IBM Java Hub
IBM is doing a lot to make Java real. Check out the IBM JDK and Eclipse
The Java Community Process (JCP))
The JCP is the sun almost standards body that is working on developing and revisiting Java. It's not as good as a real standards body, but that's all there is.
O'Reilly's OnJava
Good articles.
JavaWorld
Good articles.
Java Report
Occasionally good articles.

Tools

Base Tools

Don't bother if you don't have these
Java 2
The base development kit

Java with Parameterized Types

JSR-14
Finally, generics will be added to Java. It won't be until JDK 1.5, but better late than never.

IDE

Eclipse
Eclipse has support hot swap debugging, ant
There are plugins for xml, style checking, pretty-print reformatting, db browsing, ejb, jsp, servlets, struts, aspectj, bytecode disassembly, etc.
See my Eclipse Startup Page for more details

Compilers

gcj
Compile Java with GCC.
Jikes
An open-source compiler for Java written in C. FAST.

.class file tools

CafeBabe class file editor/viewer
Edit class files

Other Development Aids

Ant
A flexible build tool for Java projects based on an XML configuration file - a defacto standard
XDoclet
XDoclet is a code generation system that generates code based on special javadoc tags.  This enables functionality similar to .Net attributes
pretty printer / reformatter
You shouldn't need one of these, but often you do.
DocWiz JavaDoc "Editor"
A nicer way to edit javadoc comments
OO Modeling Tool
I wish for an open source round trip UML tool.  
p6spy
Pooling and debugging tools for JDBC
Forrest
New documentation tool for websites
Maven
A comprehensive build system for open source projects

Parser Generators

JavaCC
A pretty good parser generator, but dead ended by Metamata.
ANTLR
The original open source Java parser generator.

Testing / Metrics

JUnit
Unit Test Framework
httpunit
A Unit Test framework for HTTP/web applications
code coverage

Useful code

Repositories

Gamelan
The original Java source code repository.
The Giant Java Tree - source code
A decent amount of source code

Specific Code

commons-collections
A set of collection classes conforming to the JDK 1.2 collections API
commons-logging
A generic API for logging that encapsulates Log4J and JDK 1.4 logging
log4j
A flexible system for doing logging in an application -- include level filtering and a number of appenders (destinations for log messages)
hsqldb
An all Java relational database, for those jobs where you don't need Oracle, MySQL or some heavyweight database
jakarta-oro
A regular expression library modelled after Perl
jakarta-commons-sandbox-net
The Savarese NetComponents library which includes FTP, NNTP, SMTP, Finger, etc
commons-dbcp
A database connection pool library
lucene
A full text search engine
xalan
XSLT processor
xerces
XML Parser
axis
SOAP 1.1 engine
struts
"MVC" framework for JSP
jstl
JSP Standard tag library
Cryptix
Crypto Libraries, including twofish,  blowfish
JESS
CLIPS in Java
JavaLog
Prolog in Java
Doug Lea's concurrent
Concurrency Abstractions by the master
Kiwi
Library of Swing UI components

App servers

JBoss
Open Source J2EE server
Servlets.com
Jason Hunter's Servlets book site
Tomcat
Open Source Servlet/JSP container
Jetty
Open Source Servlet/JSP container