From Wikipedia, the free encyclopedia

Java
Java programming language logo.svg
ParadigmMulti-paradigm: object-oriented (class-based), structured, imperative, generic, reflective, concurrent
Designed byJames Gosling
DeveloperSun Microsystems (now owned by Oracle Corporation)
First appearedMay 23, 1995; 23 years ago
Typing disciplineStatic, strong, safe, nominative, manifest
LicenseGNU General Public License, Java Community Process
Filename extensions.java, .class, .jar
Websiteoracle.com/java/
Major implementations
Compilers: OpenJDK (javac, sjavac), GNU Compiler for Java (GCJ), Eclipse Compiler for Java (ECJ)
Virtual machines: OpenJDK JRE, Oracle JRockit, Azul Zing, IBM J9, Excelsior JET, Gluon VM, Microsoft JVM, Apache Harmony
JIT compilers: HotSpot, GraalVM, Azul Falcon (LLVM)
Dialects
Generic Java, Pizza
Influenced by
Ada 83, C++, C#, Eiffel, Generic Java, Mesa, Modula-3, Oberon, Objective-C, UCSD Pascal, Object Pascal
Influenced
Ada 2005, BeanShell, C#, Chapel, Clojure, ECMAScript, Fantom, Gambas, Groovy, Hack, Haxe, J#, Kotlin, PHP, Python, Scala, Seed7, Vala

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. Java was originally developed by James Gosling, a Canadian, at Sun Microsystems (which has since been acquired by Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them.

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 relicensed most of its Java technologies under the GNU General Public License. Others have also 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 version is Java 11, released on September 25, 2018. Java 11 is a currently supported long-term support (LTS) version ("Oracle Customers will receive Oracle Premier Support"); Oracle released for the "legacy" Java 8 LTS the last "public update", which is free for commercial use, in January 2019. Oracle will 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", because of serious risks due to unresolved security issues. Since Java 9 is no longer supported, Oracle advises its users to "immediately transition" to Java 11. Oracle extended support for Java 6 ended in December 2018.

History