Looking for a free Java Compiler? You've come to the right place.
Here are some of the compilers that I have personally used throughout my Java programming career. As I find others, I will of course try them out and then if I like it enough I'll put it up here as well. If you have a compiler you'd like to recommend, feel free to contact me in the Contact Us section of the site.
Note: No matter what compiler you get, you'll need the JRE (Java Runtime Environment). If you don't have the JRE, you may download it at Java.com. Once at the downloads page, it automatically selects what it thinks is the correct version for your system. That is probably the version you should go ahead and download.
Eclipse - This is my favorite IDE. The tutorials on this site all use Eclipse as it is extremely user friendly and the best professional tool for beginners. When at the downloads page select Eclipse Classic if you want just the basic features that will run Java.
Netbeans - Another great IDE, and the one I used before I discovered Eclipse. I still have Netbeans and find it easy to work with, although it's not AS friendly as Eclipse. Still, it is a great tool for development. When you're at the download page, if you only want Java and none of the other features, make sure to download the Java SE bundle, the one that is 31 MB.
JGrasp - JGrasp is a basic Wordpad-like program that also can compile and run Java programs. This is a standard beginners compiler and used by many schools that teach Java. I'm not the biggest fan of this program although I used to use it before I discovered the power of true IDE's. I don't like JGrasp much because it isn't a professional tool used in the real-world, and is more for hobbyists and those learning. It also does not come with the JDK (Java Development Kit), so you'd have to download that separately if you don't already have it.