Java Is A General-Purpose
Java Is A General-Purpose
Contents
[hide]
1History
o 1.1Principles
o 1.2Versions
2Practices
o 2.1Java platform
2.1.1Implementations
2.1.2Performance
o 2.2Automatic memory management
3Syntax
4"Hello world" example
5Special classes
o 5.1Applet
o 5.2Servlet
o 5.3JavaServer Pages
o 5.4Swing application
o 5.5Generics
6Criticism
7Use outside the Java platform
o 7.1Android
7.1.1Controversy
8Class libraries
9Documentation
10Editions
11See also
o 11.1Comparison of Java with other languages
12Notes
13References
14External links
History
See also: Java (software platform) History
The TIOBE programming language popularity index graph from 2002 to 2015. Over the course of a decade
Java (blue) and C (black) competing for the top position.
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June
1991.[24] Java was originally designed for interactive television, but it was too advanced for the
digital cable television industry at the time.[25] The language was initially called Oak after
an oak tree that stood outside Gosling's office. Later the project went by the name Green and
was finally renamed Java, from Java coffee.[26] Gosling designed Java with a C/C++-style syntax
that system and application programmers would find familiar.[27]
Sun Microsystems released the first public implementation as Java 1.0 in 1995.[28] It promised
"Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly
secure and featuring configurable security, it allowed network- and file-access restrictions.
Major web browsers soon incorporated the ability to run Java applets within web pages, and
Java quickly became popular. The Java 1.0 compiler was re-written in Java by Arthur van Hoff to
comply strictly with the Java 1.0 language specification.[29] With the advent of Java 2 (released
initially as J2SE 1.2 in December 1998 1999), new versions had multiple configurations built for
different types of platforms. J2EE included technologies and APIs for enterprise applications
typically run in server environments, while J2ME featured APIs optimized for mobile applications.
The desktop version was renamed J2SE. In 2006, for marketing purposes, Sun renamed
new J2 versions as Java EE, Java ME, and Java SE, respectively.
In 1997, Sun Microsystems approached the ISO/IEC JTC 1 standards body and later the Ecma
International to formalize Java, but it soon withdrew from the process.[30][31][32] Java remains a de
facto standard, controlled through the Java Community Process.[33] At one time, Sun made most
of its Java implementations available without charge, despite their proprietary software status.
Sun generated revenue from Java through the selling of licenses for specialized products such
as the Java Enterprise System.
On November 13, 2006, Sun released much of its Java virtual machine (JVM) as free and open-
source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8,
2007, Sun finished the process, making all of its JVM's core code available under free
software/open-source distribution terms, aside from a small portion of code to which Sun did not
hold the copyright.[34]
Sun's vice-president Rich Green said that Sun's ideal role with regard to Java was as an
"evangelist".[35] Following Oracle Corporation's acquisition of Sun Microsystems in 200910,
Oracle has described itself as the "steward of Java technology with a relentless commitment to
fostering a community of participation and transparency".[36] This did not prevent Oracle from filing
a lawsuit against Google shortly after that for using Java inside the Android SDK (see Google
section below). Java software runs on everything from laptops to data centers, game consoles to
scientific supercomputers.[37] On April 2, 2010, James Gosling resigned from Oracle.[38]
In January 2016, Oracle announced that Java runtime environments based on JDK 9 will
discontinue the browser plugin.[39]
Principles