I'll be presenting an introductory Java talk at LaunchMemphis in just a few short days. I've been working hard to get prepared, including updating my Java development environment. I don't plan on spending too much time on it during my presentation, so this post will be a little more in depth explanation of what I've got going on.
For all the downloads listed I used the x86/32bit versions. I tried an all 64bit environment, but it wasn't stable. I'm not certain which download was responsible for this instability. Your mileage may vary.
The first thing to know about developing for Java is that you need Java installed. Most computers already have Java installed, but the Java you know and love (or love to hate) is actually the JRE or Java Runtime Environment. This includes the JVM or Java Virtual Machine, libraries, and other components needed to run Java applications. But you already run Java applications just fine, you want to develop them too. For that you'll need the JDK or Java Development Kit. Info on the Java 7 JDK can be found at http://jdk7.java.net/. From there you can download the Java 7 SDK from as well as browse the API documentation produced from the javadoc tool. On Windows an automated installer with default options will get your JDK ready. I do suggest uninstalling any previous versions of the JRE (e.g. Java 6 or earlier).
While it is completely possible to develop in Java with nothing but a text editor and a command line, I don't recommend it. The de facto standard of Java development is the Eclipse IDE or Integrated Development Environment. Eclipse gives you all the breadth, depth, and weight of an open source IDE. It also gives you all of the negative characteristics you could infer from that description as well. Eclipse is big, slow, and a grab bag of features. It is built extensively around a plugin model that allows it to be used with a variety of languages, in a variety of contexts. But that diversity and malleability comes at the cost of a unified user experience and speed.
Because of the breadth of usage and plugin model, you're probably going to bump into Eclipse anyway. New technologies often have Eclipse plugin support before other IDEs. Once you've been in the Java space for a while, be sure to try out Netbeans and IntelliJ. Both have cleaner, snappier UI but lack some of the flexibility of Eclipse. Getting back to Eclipse, you're going to get a lot of options when you go to download Eclipse. I suggest you pick Eclipse Classic. Eclipse comes in a lovely archived folder which can run from anywhere, but I suggest you don't put it in the program files directory. Windows 7 at least doth protest too much. It is quiet as a lamb if you extract it to the root of the C:\ drive. Dig into the folder and pin it to your taskbar, or make a shortcut to access Eclipse more easily.
If you've followed along so far, you should have your Java development environment setup and Eclipse installed. Congrats, you have all you need to start exploring Java. In my next post I'll talk about the areas where Java is used and the web frameworks available for the JVM.