java is a general-purpose programming language that is class-
based, object-oriented[15] (although not a pure OO language, as it
contains primitive types[16]), and designed to have as few
implementation dependencies as possible. It is intended to
let application developers write once, run
anywhere (WORA),[17] meaning that compiled Java code can run
on all platforms that support Java without the need for
recompilation.[18] Java applications are typically compiled
to bytecode that can run on any Java virtual machine (JVM)
regardless of the underlying computer architecture.
The syntax of Java is similar to C and C++, but it has fewer low-
level facilities than either of them. As of 2018, Java was one of
the most popular programming languages in use according
to GitHub,[19][20] particularly for client-server web applications,
with a reported 9 million developers.[21]
Java was originally developed by James Gosling at Sun
Microsystems (which has since been acquired by Oracle) and
released in 1995 as a core component of Sun Microsystems' Java
platform. The original and reference
implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary
licenses. As of May 2007, in compliance with the specifications
of the Java Community Process, Sun had relicensed most of its
Java technologies under the GNU General Public License.
Meanwhile, others have developed alternative implementations
of these Sun technologies, such as the GNU Compiler for
Java (bytecode compiler), GNU Classpath (standard libraries),
and IcedTea-Web (browser plugin for applets).
The latest versions are Java 12, released in March 2019, and
Java 11, a currently supported long-term support (LTS) version,
released on September 25, 2018; Oracle released for
the legacy Java 8 LTS the last free public update in January
2019 for commercial use, while it will otherwise still support
Java 8 with public updates for personal use up to at least
December 2020. Oracle (and others) highly recommend that you
uninstall older versions of Java,[22] because of serious risks due
to unresolved security issues.[23] Since Java 9 (and 10) is no
longer supported, Oracle advises its users to immediately
transition to Java 11 (Java 12 is also an non-LTS option).