Java is an object-oriented language and runtime environment (JRE). Java programs are platform independent, because they are compiled to bytecode and their execution is handled by a Virtual Machine called the Java VM or JVM.
Java is a high-level, platform-independent, object-oriented programming language originally developed by James Gosling for Sun Microsystems and released in 1995. The Java trademark is currently owned by Oracle, which purchased Sun Microsystems on April 20, 2009.
The main reference implementation of Java is open source (the OpenJDK), which is supported by major companies including Oracle, Apple, SAP and IBM.
Very few computers can run Java programs directly. Therefore the Java environment is normally made available by installing a suitable software component. For Windows computers, this is usually done by downloading the free Java Runtime Environment (JRE) from Oracle which allows the system to run Java programs. The easiest way to do this is from java.com, and on a Macintosh computer, the user is prompted to download Java when an application requiring it is started. In linux-like system, Java is typically installed via the package manager.
Developers frequently need additional tools which are available in the free Java Development Kit (JDK) alternative to the JRE, which for Windows must be downloaded from Oracle and installed manually.
Java is compiled into bytecode which is interpreted on the JVM by compiling into native code. The compilation is done just-in-time (JIT). Initially this was viewed as a performance hit but with JVM and JIT compilation improvements this has become a lesser concern. Some time the JVM may be faster than native code compiled to target an older version of the processor for backward compatibility reasons.
Note: Other vendors exist, but they usually have license fees. For Linux and other platforms consult the operating system documentation.
More information: