- Java 2 Standard Edition Developers Toolkit
- You'll need this to do anything.
- The best IDE out there, especially for the price (free). Netbeans is getting better, though.
- A free chart/plot tool in Java. I (Greg) haven't used it, but it seems to be popular.
- Jakarta Tomcat
- If you want to do any server-side Java, Tomcat is a great, free application server.
- Thinking in Java
- Greg has read this cover-to-cover. Good content and actually well written! It is, however, more geared toward server-side Java for web apps.
- Wicked Cool Java
- A new book reviewed by Slashdot. Greg just bought a copy. It's in the tech lab, if you want to take a look at it. Dan has it as well, in the CELEST lounge.
- Head First Java
- Sai has this book.
- Object-Oriented Analysis and Design with Applications (2nd Edition)
- I haven't read this myself, but I've certainly seen it on nearly every Java engineer's desk. It's written by Grady Booch, who is considered the father of OOD.
- Object-Oriented Data Structures Using Java
- Not the greatest book, but I (Greg) have it in my office, if you want to take a look.
- Design Patterns
- This is also in Greg's office. Good for once you've had an overview of OOD.
- Java In a Nutshell
- Once you're ready to tackle Java more in-depth.
Key day-to-day references
- J2SE API
- All the standard data structures and utilities to get you started.
- Java specification 3rd ed.
- The 3rd ed. language specification of java. good to know all about java, such as exceptional handling (will the
following codes be executed when some exception happened?) or garbage collecting (Is your variable still available after throwing it as parameters of calling functions?)
- Java specification
- Very useful when you want to know, e.g., what it means for a method to be "public static final".
- Apache Jakarta
- This is the open-source Java group at Apache. Lots of great projects, mainly for web/application server use, but there are some good general purpose applications. I highly recommend Ant for build automation and everything in "Commons", but take a look around! Especially note that they now have a math and stats package. Also, there's a three-part article on using Jakarta Commons at DevX.
- It has searchable and browsable pages on everything from JDK APIs to proper usage and examples.