Compiler vs. IDE

First let's discuss the difference between the Java compiler and a Java IDE or environment. The compiler translates Java source code files (.java) into Java byte-code files (.class). Once compiled, the byte-code can be interpreted by a separate program known as the JVM (Java Virtual Machine).

What an environment or IDE (Integrated Development Environment) does is let you edit, compile, and run from one program — it does the compile and run steps for you. Many/Most also come with an integrated debugger.

There are currently a growing number of Java IDEs. I only know of two free Java compilers: Oracle's JDK and IBM's JDK. (JDK stands for Java Development Kit.)

All of these compilers are available in one form or another for many platforms (including Windoze and Linux; some even for Mac OS X). I'd stick with the Oracle JDK, myself, but it is really up to you.

Also note that the current version of the Java language is Java 2 (aka the Java 2 Platform). Don't get this confused with the compiler version (Oracle's own JDK is at 8, for instance; well, it's at 11, but 11 sucks so you want version 8).

Windoze IDEs

I have used the following Java environments [more or less] successfully on Win98, WinNT, and WinXP.