Had a coworker ask me about starting into Java, and I wrote enough I thought I'd smack it into here.

I'd like to take a look at Java, expand my skill set a bit.
Any suggestions on how to get started?



Kinda depends on what you'd like to do with it.

First, on IDEs:
Eclipse.org has a great one with great performance. Uses a windowing toolkit (SWT) that's a little closer to the native widgets, so performance on [Linux & Windows] is quite good.

Netbeans.org is a good secondary IDE. Has a decent GUI editor, but once you've gotten used to Layout Managers, you won't have much need for it. Jon tends to disagree with me there.

Both are free; both have autocomplete.

Sun has a decent tutorial on using/learning Java.

When creating/hacking on Java GUIs in Swing, Sun's windowing toolkit, this page is invaluable to me.

I've liked most any O'Reilly book on Java I've seen. Once you get going, Java in Nutshell is a must, though it really is just a hardcopy of the API.

I got my start with an older version of Elliotte Rusty Harold's Java I/O and his book on network programming. Both are awfully readable books, and gets you messing with files & http, ftp, UDP, etc from the proverbial get-go.

JDBC is incredibly simple. No book needed. Most any tutorial will do.

The best part is that learning Java is very nearly the same as learning C#. A different set of objects, give or take, but the exact same syntax and concepts (again, give or take).

Hopefully that's enough to get started. ;^)