The major advantage Java has, is that unlike programing languages such as C and C++ (and the languages based on them, e.g. Ruby, Python) which are compiled for use on specific processors or operating systems, Java has no such requirement. Java is compiled down to platform-independent byte code, which is then interpreted by the Java Virtual Machine (JVM) on any major operating system.
Java Virtual Machine (JVM)
The JVM is a CPU architecture. When it is implemented in hardware or as a software program, it interprets and executes Java byte code for the specific processors or operating system that it is built to run on. There are other programming languages besides Java (known as "JVM languages") that can also take advantage of the JVM's cross-platform byte code execution.
Java Runtime Environment (JRE)
The JRE (also called the Java Platform or Java Class Library) must be installed on a system in order to run Java programs. It is able to run on multiple operating systems because it essentially replaces the functionality of the platform-native libraries in an operating system and provides its own comprehensive set of standard class libraries, which provide most of the common operating system features you would find in the native libraries. The JRE also includes the JVM. Just choose the right download for your operating system and you'll have the right JVM and class libraries. If you want to develop Java applications, you won't want to install just the JRE because it doesn't have any compiler or debugger.
Java Development Kit (JDK)
The Java Software Development Kit (SDK), or JDK, already contains the JRE, and therefore, contains the JVM as well. In addition, it contains a large collection of programming tools. Install the JDK if you plan to develop and run Java applications. It's part of the Java Standard Edition (Java SE) downloads on Oracle's technetwork website.
These are the only JDKs still maintained:
They are all builds of the OpenJDK, an open source specification for the JDK.
Java 9 — Features - Project Page - Tutorials - The next version of Java (GA expected Sep 22, 2016). This release will refactor the JDK for modularity using new Jigsaw modules and will include a JSON API, HTTP 2 Client, Process API improvements, and more.
NOTE TO READER
These are just the initial sections of the Java Ecosystem Linksheet. DZone will be adding much more to this list and updating its links and information. Eventually we will wikify this list so that community members can suggest and contribute changes as well.