<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>Java (programming language) - Wikipedia, the free encyclopedia</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>(window.RLQ = window.RLQ || []).push(function () {
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Java_(programming_language)","wgTitle":"Java (programming language)","wgCurRevisionId":707807094,"wgRevisionId":707807094,"wgArticleId":15881,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["All articles with unsourced statements","Articles with unsourced statements from April 2015","Articles containing potentially dated statements from 2015","All articles containing potentially dated statements","Articles with unsourced statements from June 2013","Articles needing additional references from May 2013","All articles needing additional references","Articles needing cleanup from May 2013","All pages needing cleanup","Articles containing how-to sections","Articles needing cleanup from January 2012","Articles needing additional references from December 2014","Vague or ambiguous time from December 2014","Articles with specifically marked weasel-worded phrases from September 2015","Wikipedia articles that may have off-topic paragraphs","Wikipedia articles with GND identifiers","C programming language family","Class-based programming languages","Concurrent programming languages","Cross-platform software","Java platform","Java (programming language)","Java specification requests","JVM programming languages","Object-oriented programming languages","Programming languages created in 1995","Statically typed programming languages","Sun Microsystems","Articles with example Java code"],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Java_(programming_language)","wgRelevantArticleId":15881,"wgIsProbablyEditable":false,"wgRestrictionEdit":["autoconfirmed"],"wgRestrictionMove":["autoconfirmed"],"wgWikiEditorEnabledModules":{"toolbar":true,"dialogs":true,"preview":false,"publish":false},"wgBetaFeaturesFeatures":[],"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","usePageImages":true,"usePageDescriptions":true},"wikilove-recipient":"","wikilove-anon":0,"wgPreferredVariant":"en","wgRelatedArticles":null,"wgRelatedArticlesUseCirrusSearch":true,"wgRelatedArticlesOnlyUseCirrusSearch":false,"wgULSAcceptLanguageList":["en-us","en"],"wgULSCurrentAutonym":"English","wgFlaggedRevsParams":{"tags":{"status":{"levels":1,"quality":2,"pristine":3}}},"wgStableRevisionId":null,"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}","wgNoticeProject":"wikipedia","wgCentralNoticeCategoriesUsingLegacy":["Fundraising","fundraising"],"wgCentralAuthMobileDomain":false,"wgWikibaseItemId":"Q251","wgVisualEditorToolbarScrollOffset":0}); /* @nomin */mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"variant":"en"});});mw.loader.implement("user.tokens",function ( $, jQuery ) {
mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); /* @nomin */ ;

});mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","ext.centralauth.centralautologin","mmv.head","ext.visualEditor.desktopArticleTarget.init","ext.uls.init","ext.uls.interface","ext.quicksurveys.init","mw.MediaWikiPlayer.loader","mw.PopUpMediaTransform","ext.centralNotice.bannerController","skins.vector.js"]);
} );</script>
<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=ext.cite.styles%7Cext.gadget.DRN-wizard%2CReferenceTooltips%2Ccharinsert%2Cfeatured-articles-links%2CrefToolbar%2Cswitcher%2Cteahouse%7Cext.pygments%2CwikimediaBadges%7Cext.tmh.thumbnail.styles%7Cext.uls.nojs%7Cext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.raggett%2CsectionAnchor%7Cmediawiki.skinning.interface%7Cskins.vector.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector" />
<meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site&amp;only=styles&amp;skin=vector" />
<script async="" src="/w/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=vector"></script>
<meta name="generator" content="MediaWiki 1.27.0-wmf.15" />
<meta name="referrer" content="origin-when-cross-origin" />
<link rel="alternate" href="android-app://org.wikipedia/http/en.m.wikipedia.org/wiki/Java_(programming_language)" />
<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png" />
<link rel="shortcut icon" href="/static/favicon/wikipedia.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (en)" />
<link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd" />
<link rel="copyright" href="//creativecommons.org/licenses/by-sa/3.0/" />
<link rel="canonical" href="https://en.wikipedia.org/wiki/Java_(programming_language)" />
<link rel="dns-prefetch" href="//meta.wikimedia.org" />
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/w/skins/Vector/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Java_programming_language skin-vector action-view">
		<div id="mw-page-base" class="noprint"></div>
		<div id="mw-head-base" class="noprint"></div>
		<div id="content" class="mw-body" role="main">
			<a id="top"></a>

							<div id="siteNotice"><!-- CentralNotice --></div>
						<div class="mw-indicators">
</div>
			<h1 id="firstHeading" class="firstHeading" lang="en">Java (programming language)</h1>
									<div id="bodyContent" class="mw-body-content">
									<div id="siteSub">From Wikipedia, the free encyclopedia</div>
								<div id="contentSub"></div>
												<div id="jump-to-nav" class="mw-jump">
					Jump to:					<a href="#mw-head">navigation</a>, 					<a href="#p-search">search</a>
				</div>
				<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div role="note" class="hatnote">"Java language" redirects here. For the natural language from the Indonesian island of Java, see <a href="/wiki/Javanese_language" title="Javanese language">Javanese language</a>.</div>
<div role="note" class="hatnote">This article is about a programming language.  For the software package downloaded from java.com, see <a href="/wiki/Java_SE" title="Java SE" class="mw-redirect">Java SE</a>.</div>
<div role="note" class="hatnote">Not to be confused with <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>.</div>
<table class="infobox vevent" style="width:22em">
<caption class="summary">Java</caption>
<tr>
<td colspan="2" style="text-align:center"><a href="/wiki/File:Java_logo.png" class="image"><img alt="Java logo.png" src="//upload.wikimedia.org/wikipedia/en/8/88/Java_logo.png" width="259" height="259" data-file-width="259" data-file-height="259" /></a></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Programming_paradigm" title="Programming paradigm">Paradigm</a></th>
<td><a href="/wiki/Programming_paradigm#Multi-paradigm" title="Programming paradigm">multi-paradigm</a>: <a href="/wiki/Object-oriented" title="Object-oriented" class="mw-redirect">object-oriented</a> (<a href="/wiki/Class-based_programming" title="Class-based programming">class-based</a>), <a href="/wiki/Structured_programming" title="Structured programming">structured</a>, <a href="/wiki/Imperative_programming" title="Imperative programming">imperative</a>, <a href="/wiki/Generic_programming" title="Generic programming">generic</a>, <a href="/wiki/Reflection_(computer_programming)" title="Reflection (computer programming)">reflective</a>, <a href="/wiki/Concurrent_computing" title="Concurrent computing">concurrent</a></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Software_design" title="Software design">Designed&#160;by</a></th>
<td><a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Software_developer" title="Software developer">Developer</a></th>
<td class="organiser"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> (now acquired by <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>)</td>
</tr>
<tr>
<th scope="row">First&#160;appeared</th>
<td>1995<span class="noprint">; 21&#160;years ago</span><span style="display:none">&#160;(<span class="bday dtstart published updated">1995</span>)</span><sup id="cite_ref-oraclejavahistory_1-0" class="reference"><a href="#cite_note-oraclejavahistory-1"><span>[</span>1<span>]</span></a></sup></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Type_system" title="Type system">Typing discipline</a></th>
<td><a href="/wiki/Type_system" title="Type system">Static, strong, safe</a>, <a href="/wiki/Nominal_type_system" title="Nominal type system">nominative</a>, <a href="/wiki/Manifest_typing" title="Manifest typing">manifest</a></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Software_license" title="Software license">License</a></th>
<td><a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a>, <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a></td>
</tr>
<tr>
<th scope="row"><a href="/wiki/Filename_extension" title="Filename extension">Filename extensions</a></th>
<td>.java , <a href="/wiki/Java_class_file" title="Java class file">.class</a>, <a href="/wiki/JAR_(file_format)" title="JAR (file format)">.jar</a></td>
</tr>
<tr>
<th scope="row">Website</th>
<td><span class="url"><a rel="nofollow" class="external text" href="http://java.net">java<wbr />.net</a></span></td>
</tr>
<tr>
<th colspan="2" style="text-align:center;background-color: #eee;">Major <a href="/wiki/Programming_language_implementation" title="Programming language implementation">implementations</a></th>
</tr>
<tr>
<td colspan="2" style="text-align:center"><a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>, <a href="/wiki/GNU_Compiler_for_Java" title="GNU Compiler for Java">GNU Compiler for Java</a>(gcj), <a href="/wiki/Category:Java_virtual_machine" title="Category:Java virtual machine">many others</a></td>
</tr>
<tr>
<th colspan="2" style="text-align:center;background-color: #eee;"><a href="/wiki/Dialect_(computing)" title="Dialect (computing)">Dialects</a></th>
</tr>
<tr>
<td colspan="2" style="text-align:center"><a href="/wiki/Generic_Java" title="Generic Java">Generic Java</a>, <a href="/wiki/Pizza_(programming_language)" title="Pizza (programming language)">Pizza</a></td>
</tr>
<tr>
<th colspan="2" style="text-align:center;background-color: #eee;">Influenced by</th>
</tr>
<tr>
<td colspan="2" style="text-align:center"><a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada 83</a>, <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span>[</span>2<span>]</span></a></sup> <a href="/wiki/Eiffel_(programming_language)" title="Eiffel (programming language)">Eiffel</a>,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span>[</span>3<span>]</span></a></sup> <a href="/wiki/Generic_Java" title="Generic Java">Generic Java</a>, <a href="/wiki/Mesa_(programming_language)" title="Mesa (programming language)">Mesa</a>,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span>[</span>4<span>]</span></a></sup> <a href="/wiki/Modula-3" title="Modula-3">Modula-3</a>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span>[</span>5<span>]</span></a></sup> <a href="/wiki/Oberon_(programming_language)" title="Oberon (programming language)">Oberon</a>,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span>[</span>6<span>]</span></a></sup> <a href="/wiki/Objective-C" title="Objective-C">Objective-C</a>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span>[</span>7<span>]</span></a></sup> <a href="/wiki/UCSD_Pascal" title="UCSD Pascal">UCSD Pascal</a>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span>[</span>8<span>]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span>[</span>9<span>]</span></a></sup> <a href="/wiki/Object_Pascal" title="Object Pascal">Object Pascal</a><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span>[</span>10<span>]</span></a></sup></td>
</tr>
<tr>
<th colspan="2" style="text-align:center;background-color: #eee;">Influenced</th>
</tr>
<tr>
<td colspan="2" style="text-align:center"><a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada 2005</a>, <a href="/wiki/BeanShell" title="BeanShell">BeanShell</a>, <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="/wiki/Chapel_(programming_language)" title="Chapel (programming language)">Chapel</a>,<sup id="cite_ref-chplspec_11-0" class="reference"><a href="#cite_note-chplspec-11"><span>[</span>11<span>]</span></a></sup> <a href="/wiki/Clojure" title="Clojure">Clojure</a>, <a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a>, <a href="/wiki/Fantom_(programming_language)" title="Fantom (programming language)">Fantom</a>, <a href="/wiki/Groovy_(programming_language)" title="Groovy (programming language)">Groovy</a>, <a href="/wiki/Hack_(programming_language)" title="Hack (programming language)">Hack</a>,<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span>[</span>12<span>]</span></a></sup> <a href="/wiki/Haxe_(programming_language)" title="Haxe (programming language)" class="mw-redirect">Haxe</a>, <a href="/wiki/J_Sharp" title="J Sharp">J#</a>, <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>, <a href="/wiki/Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a>, <a href="/wiki/PHP" title="PHP">PHP</a>, <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a>, <a href="/wiki/Seed7" title="Seed7">Seed7</a>, <a href="/wiki/Vala_(programming_language)" title="Vala (programming language)">Vala</a></td>
</tr>
<tr>
<td colspan="2" class="hlist" style="text-align:center;border-top: 1px solid #aaa; padding-top: 3px;">
<ul>
<li><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/16px-Wikibooks-logo-en-noslogan.svg.png" width="16" height="16" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/24px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/32px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /> <a href="//en.wikibooks.org/wiki/Java_Programming" class="extiw" title="wikibooks:Java Programming">Java Programming</a> at Wikibooks</li>
</ul>
</td>
</tr>
</table>
<p><b>Java</b> is a general-purpose <a href="/wiki/Programming_language" title="Programming language">computer programming language</a> that is <a href="/wiki/Concurrent_computing" title="Concurrent computing">concurrent</a>, <a href="/wiki/Class-based_programming" title="Class-based programming">class-based</a>, <a href="/wiki/Object-oriented_programming" title="Object-oriented programming">object-oriented</a>,<sup id="cite_ref-FOOTNOTEGoslingJoySteeleBracha20141_13-0" class="reference"><a href="#cite_note-FOOTNOTEGoslingJoySteeleBracha20141-13"><span>[</span>13<span>]</span></a></sup> and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "<a href="/wiki/Write_once,_run_anywhere" title="Write once, run anywhere">write once, run anywhere</a>" (WORA),<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span>[</span>14<span>]</span></a></sup> meaning that <a href="/wiki/Compiler" title="Compiler">compiled</a> Java code can run on all platforms that support Java without the need for recompilation.<sup id="cite_ref-design_goals_15-0" class="reference"><a href="#cite_note-design_goals-15"><span>[</span>15<span>]</span></a></sup> Java applications are typically compiled to <a href="/wiki/Java_bytecode" title="Java bytecode">bytecode</a> that can run on any <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a> (JVM) regardless of <a href="/wiki/Computer_architecture" title="Computer architecture">computer architecture</a>. As of 2016, Java is one of the most <a href="/wiki/Measuring_programming_language_popularity" title="Measuring programming language popularity">popular programming languages in use</a>,<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span>[</span>16<span>]</span></a></sup><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span>[</span>17<span>]</span></a></sup><sup id="cite_ref-languagepopularity2013_18-0" class="reference"><a href="#cite_note-languagepopularity2013-18"><span>[</span>18<span>]</span></a></sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span>[</span>19<span>]</span></a></sup> particularly for client-server web applications, with a reported 9 million developers.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (April 2015)">citation needed</span></a></i>]</sup> Java was originally developed by <a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a> at <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> (which has since been <a href="/wiki/Sun_acquisition_by_Oracle" title="Sun acquisition by Oracle">acquired by Oracle Corporation</a>) and released in 1995 as a core component of Sun Microsystems' <a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java platform</a>. The language derives much of its <a href="/wiki/Syntax_(programming_languages)" title="Syntax (programming languages)">syntax</a> from <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> and <a href="/wiki/C%2B%2B" title="C++">C++</a>, but it has fewer <a href="/wiki/Low-level_programming_language" title="Low-level programming language">low-level</a> facilities than either of them.</p>
<p>The original and <a href="/wiki/Reference_implementation" title="Reference implementation">reference implementation</a> Java <a href="/wiki/Compiler" title="Compiler">compilers</a>, virtual machines, and <a href="/wiki/Library_(computing)" title="Library (computing)">class libraries</a> were originally released by Sun under proprietary licences. As of May 2007, in compliance with the specifications of the <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a>, Sun relicensed most of its Java technologies under the <a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a>. Others have also developed alternative implementations of these Sun technologies, such as the <a href="/wiki/GNU_Compiler_for_Java" title="GNU Compiler for Java">GNU Compiler for Java</a> (bytecode compiler), <a href="/wiki/GNU_Classpath" title="GNU Classpath">GNU Classpath</a> (standard libraries), and <a href="/wiki/IcedTea" title="IcedTea">IcedTea</a>-Web (browser plugin for applets).</p>
<p>The latest version is Java 8, which is the only version currently supported for free by Oracle, although earlier versions are supported both by Oracle and other companies on a commercial basis.</p>
<p></p>
<div id="toc" class="toc">
<div id="toctitle">
<h2>Contents</h2>
</div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#History"><span class="tocnumber">1</span> <span class="toctext">History</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#Principles"><span class="tocnumber">1.1</span> <span class="toctext">Principles</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#Versions"><span class="tocnumber">1.2</span> <span class="toctext">Versions</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-4"><a href="#Practices"><span class="tocnumber">2</span> <span class="toctext">Practices</span></a>
<ul>
<li class="toclevel-2 tocsection-5"><a href="#Java_platform"><span class="tocnumber">2.1</span> <span class="toctext">Java platform</span></a>
<ul>
<li class="toclevel-3 tocsection-6"><a href="#Implementations"><span class="tocnumber">2.1.1</span> <span class="toctext">Implementations</span></a></li>
<li class="toclevel-3 tocsection-7"><a href="#Performance"><span class="tocnumber">2.1.2</span> <span class="toctext">Performance</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-8"><a href="#Automatic_memory_management"><span class="tocnumber">2.2</span> <span class="toctext">Automatic memory management</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-9"><a href="#Syntax"><span class="tocnumber">3</span> <span class="toctext">Syntax</span></a></li>
<li class="toclevel-1 tocsection-10"><a href="#Examples"><span class="tocnumber">4</span> <span class="toctext">Examples</span></a>
<ul>
<li class="toclevel-2 tocsection-11"><a href="#.22Hello.2C_world.21.22_program"><span class="tocnumber">4.1</span> <span class="toctext">"Hello, world!" program</span></a></li>
<li class="toclevel-2 tocsection-12"><a href="#Comprehensive_example"><span class="tocnumber">4.2</span> <span class="toctext">Comprehensive example</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-13"><a href="#Special_classes"><span class="tocnumber">5</span> <span class="toctext">Special classes</span></a>
<ul>
<li class="toclevel-2 tocsection-14"><a href="#Applet"><span class="tocnumber">5.1</span> <span class="toctext">Applet</span></a></li>
<li class="toclevel-2 tocsection-15"><a href="#Servlet"><span class="tocnumber">5.2</span> <span class="toctext">Servlet</span></a></li>
<li class="toclevel-2 tocsection-16"><a href="#JavaServer_Pages"><span class="tocnumber">5.3</span> <span class="toctext">JavaServer Pages</span></a></li>
<li class="toclevel-2 tocsection-17"><a href="#Swing_application"><span class="tocnumber">5.4</span> <span class="toctext">Swing application</span></a></li>
<li class="toclevel-2 tocsection-18"><a href="#Generics"><span class="tocnumber">5.5</span> <span class="toctext">Generics</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-19"><a href="#Criticism"><span class="tocnumber">6</span> <span class="toctext">Criticism</span></a></li>
<li class="toclevel-1 tocsection-20"><a href="#Use_on_unofficial_software_platforms"><span class="tocnumber">7</span> <span class="toctext">Use on unofficial software platforms</span></a>
<ul>
<li class="toclevel-2 tocsection-21"><a href="#Google"><span class="tocnumber">7.1</span> <span class="toctext">Google</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-22"><a href="#Class_libraries"><span class="tocnumber">8</span> <span class="toctext">Class libraries</span></a></li>
<li class="toclevel-1 tocsection-23"><a href="#Documentation"><span class="tocnumber">9</span> <span class="toctext">Documentation</span></a></li>
<li class="toclevel-1 tocsection-24"><a href="#Editions"><span class="tocnumber">10</span> <span class="toctext">Editions</span></a></li>
<li class="toclevel-1 tocsection-25"><a href="#See_also"><span class="tocnumber">11</span> <span class="toctext">See also</span></a>
<ul>
<li class="toclevel-2 tocsection-26"><a href="#Comparison_of_Java_with_other_languages"><span class="tocnumber">11.1</span> <span class="toctext">Comparison of Java with other languages</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-27"><a href="#Notes"><span class="tocnumber">12</span> <span class="toctext">Notes</span></a></li>
<li class="toclevel-1 tocsection-28"><a href="#References"><span class="tocnumber">13</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-29"><a href="#External_links"><span class="tocnumber">14</span> <span class="toctext">External links</span></a></li>
</ul>
</div>
<p></p>
<h2><span class="mw-headline" id="History">History</span></h2>
<div role="note" class="hatnote">See also: <a href="/wiki/Java_(software_platform)#History" title="Java (software platform)">Java (software platform) § History</a></div>
<div class="thumb tright">
<div class="thumbinner" style="width:172px;"><a href="/wiki/File:Wave.svg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/170px-Wave.svg.png" width="170" height="306" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/255px-Wave.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/340px-Wave.svg.png 2x" data-file-width="226" data-file-height="407" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Wave.svg" class="internal" title="Enlarge"></a></div>
Duke, the Java mascot</div>
</div>
</div>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:James_Gosling_2008.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/220px-James_Gosling_2008.jpg" width="220" height="221" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/330px-James_Gosling_2008.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/440px-James_Gosling_2008.jpg 2x" data-file-width="1460" data-file-height="1469" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:James_Gosling_2008.jpg" class="internal" title="Enlarge"></a></div>
<a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a>, the creator of Java (2008)</div>
</div>
</div>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:Tiobeindex.png" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Tiobeindex.png/220px-Tiobeindex.png" width="220" height="133" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Tiobeindex.png/330px-Tiobeindex.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Tiobeindex.png/440px-Tiobeindex.png 2x" data-file-width="704" data-file-height="426" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Tiobeindex.png" class="internal" title="Enlarge"></a></div>
The <a href="/wiki/TIOBE_index" title="TIOBE index">TIOBE</a> <a href="/wiki/Measuring_programming_language_popularity" title="Measuring programming language popularity">programming language popularity index</a> graph from 2002 to 2015. Over the course of a decade Java (blue) and C (black) competing for the top position.</div>
</div>
</div>
<p><a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a>, Mike Sheridan, and <a href="/wiki/Patrick_Naughton" title="Patrick Naughton">Patrick Naughton</a> initiated the Java language project in June 1991.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span>[</span>20<span>]</span></a></sup> Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span>[</span>21<span>]</span></a></sup> The language was initially called <i><a href="/wiki/Oak_(programming_language)" title="Oak (programming language)">Oak</a></i> after an <a href="/wiki/Oak" title="Oak">oak</a> tree that stood outside Gosling's office. Later the project went by the name <i>Green</i> and was finally renamed <i>Java</i>, from <a href="/wiki/Java_coffee" title="Java coffee">Java coffee</a>.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span>[</span>22<span>]</span></a></sup> Gosling designed Java with a C/C++-style syntax that system and application programmers would find familiar.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span>[</span>23<span>]</span></a></sup></p>
<p><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> released the first public implementation as Java 1.0 in 1995.<sup id="cite_ref-oraclejavahistory_1-1" class="reference"><a href="#cite_note-oraclejavahistory-1"><span>[</span>1<span>]</span></a></sup> It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular <a href="/wiki/Computing_platform" title="Computing platform">platforms</a>. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major <a href="/wiki/Web_browser" title="Web browser">web browsers</a> soon incorporated the ability to run <i><a href="/wiki/Java_applet" title="Java applet">Java applets</a></i> within web pages, and Java quickly became popular. The Java 1.0 compiler was re-written <a href="/wiki/Bootstrapping_(compilers)" title="Bootstrapping (compilers)">in Java</a> by <a href="/wiki/Arthur_van_Hoff" title="Arthur van Hoff">Arthur van Hoff</a> to comply strictly with the Java 1.0 language specification.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span>[</span>24<span>]</span></a></sup> With the advent of <i>Java 2</i> (released initially as J2SE 1.2 in December 1998 – 1999), new versions had multiple configurations built for different types of platforms. <i>J2EE</i> included technologies and APIs for enterprise applications typically run in server environments, while <i>J2ME</i> featured APIs optimized for mobile applications. The desktop version was renamed <i>J2SE</i>. In 2006, for marketing purposes, Sun renamed new <i>J2</i> versions as <i><a href="/wiki/Java_Platform,_Enterprise_Edition" title="Java Platform, Enterprise Edition">Java EE</a></i>, <i><a href="/wiki/Java_Platform,_Micro_Edition" title="Java Platform, Micro Edition">Java ME</a></i>, and <i><a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Java SE</a></i>, respectively.</p>
<p>In 1997, Sun Microsystems approached the <a href="/wiki/ISO/IEC_JTC_1" title="ISO/IEC JTC 1">ISO/IEC JTC 1</a> standards body and later the <a href="/wiki/Ecma_International" title="Ecma International">Ecma International</a> to formalize Java, but it soon withdrew from the process.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span>[</span>25<span>]</span></a></sup><sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span>[</span>26<span>]</span></a></sup><sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span>[</span>27<span>]</span></a></sup> Java remains a <a href="/wiki/De_facto_standard" title="De facto standard"><i>de facto</i> standard</a>, controlled through the <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a>.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span>[</span>28<span>]</span></a></sup> At one time, Sun made most of its Java implementations available without charge, despite their <a href="/wiki/Proprietary_software" title="Proprietary software">proprietary software</a> status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System.</p>
<p>On November 13, 2006, Sun released much of its Java virtual machine (JVM) as <a href="/wiki/Free_and_open-source_software" title="Free and open-source software">free and open-source software</a>, (FOSS), under the terms of the <a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a> (GPL). On May 8, 2007, Sun finished the process, making all of its JVM's core code available under <a href="/wiki/Free_software" title="Free software">free software</a>/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span>[</span>29<span>]</span></a></sup></p>
<p>Sun's vice-president Rich Green said that Sun's ideal role with regard to Java was as an "evangelist".<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span>[</span>30<span>]</span></a></sup> Following <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>'s acquisition of Sun Microsystems in 2009–10, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency".<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span>[</span>31<span>]</span></a></sup> 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 <a href="/wiki/Laptop" title="Laptop">laptops</a> to <a href="/wiki/Data_center" title="Data center">data centers</a>, <a href="/wiki/Video_game_console" title="Video game console">game consoles</a> to scientific <a href="/wiki/Supercomputer" title="Supercomputer">supercomputers</a>.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span>[</span>32<span>]</span></a></sup> On April 2, 2010, James Gosling resigned from Oracle.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span>[</span>33<span>]</span></a></sup></p>
<h3><span class="mw-headline" id="Principles">Principles</span></h3>
<p>There were five primary goals in the creation of the Java language:<sup id="cite_ref-design_goals_15-1" class="reference"><a href="#cite_note-design_goals-15"><span>[</span>15<span>]</span></a></sup></p>
<ol>
<li>It must be "simple, object-oriented, and familiar".</li>
<li>It must be "robust and secure".</li>
<li>It must be "architecture-neutral and portable".</li>
<li>It must execute with "high performance".</li>
<li>It must be "interpreted, threaded, and dynamic".</li>
</ol>
<h3><span class="mw-headline" id="Versions">Versions</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_version_history" title="Java version history">Java version history</a></div>
<p>As of 2015<sup class="plainlinks noprint asof-tag update" style="display:none;"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;action=edit">[update]</a></sup>, only Java 8 is supported ("publicly"). Major release versions of Java, along with their release dates:</p>
<ul>
<li>JDK 1.0 (January 21, 1996)</li>
<li>JDK 1.1 (February 19, 1997)</li>
<li>J2SE 1.2 (December 8, 1998)</li>
<li>J2SE 1.3 (May 8, 2000)</li>
<li>J2SE 1.4 (February 6, 2002)</li>
<li>J2SE 5.0 (September 30, 2004)</li>
<li>Java SE 6 (December 11, 2006)</li>
<li>Java SE 7 (July 28, 2011)</li>
<li>Java SE 8 (March 18, 2014)</li>
</ul>
<h2><span class="mw-headline" id="Practices">Practices</span></h2>
<h3><span class="mw-headline" id="Java_platform">Java platform</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main articles: <a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java (software platform)</a> and <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a></div>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:Java_Control_Panel.JPG" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d4/Java_Control_Panel.JPG/220px-Java_Control_Panel.JPG" width="220" height="235" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d4/Java_Control_Panel.JPG/330px-Java_Control_Panel.JPG 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d4/Java_Control_Panel.JPG/440px-Java_Control_Panel.JPG 2x" data-file-width="530" data-file-height="566" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Java_Control_Panel.JPG" class="internal" title="Enlarge"></a></div>
Java Control Panel, version 7</div>
</div>
</div>
<p>One design goal of Java is portability, which means that programs written for the Java platform must run similarly on any combination of hardware and operating system with adequate runtime support. This is achieved by compiling the Java language code to an intermediate representation called <a href="/wiki/Java_bytecode" title="Java bytecode">Java bytecode</a>, instead of directly to architecture-specific <a href="/wiki/Machine_code" title="Machine code">machine code</a>. Java bytecode instructions are analogous to machine code, but they are intended to be executed by a <a href="/wiki/Virtual_machine" title="Virtual machine">virtual machine</a> (VM) written specifically for the host hardware. <a href="/wiki/End_user" title="End user">End users</a> commonly use a <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java Runtime Environment</a> (JRE) installed on their own machine for standalone Java applications, or in a web browser for Java <a href="/wiki/Applet" title="Applet">applets</a>.</p>
<p>Standard libraries provide a generic way to access host-specific features such as graphics, <a href="/wiki/Thread_(computing)" title="Thread (computing)">threading</a>, and <a href="/wiki/Computer_network" title="Computer network">networking</a>.</p>
<p>The use of universal bytecode makes porting simple. However, the overhead of interpreting bytecode into machine instructions makes interpreted programs almost always run more slowly than native <a href="/wiki/Executable" title="Executable">executables</a>. However, <a href="/wiki/Just-in-time_compilation" title="Just-in-time compilation">just-in-time</a> (JIT) compilers that compile bytecodes to machine code during runtime were introduced from an early stage. Java itself is platform-independent, and is adapted to the particular platform it is to run on by a <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a> for it, which translates the <a href="/wiki/Java_bytecode" title="Java bytecode">Java bytecode</a> into the platform's machine language.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span>[</span>34<span>]</span></a></sup></p>
<h4><span class="mw-headline" id="Implementations">Implementations</span></h4>
<div role="note" class="hatnote">See also: <a href="/wiki/Free_Java_implementations" title="Free Java implementations">Free Java implementations</a></div>
<p><a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a> is the current owner of the official implementation of the Java SE platform, following their acquisition of <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> on January 27, 2010. This implementation is based on the original implementation of Java by Sun. The Oracle implementation is available for <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> (still works for XP, while only later versions currently "publicly" supported), <a href="/wiki/OS_X" title="OS X">Mac OS X</a>, <a href="/wiki/Linux" title="Linux">Linux</a> and <a href="/wiki/Solaris_(operating_system)" title="Solaris (operating system)">Solaris</a>. Because Java lacks any formal standardization recognized by <a href="/wiki/Ecma_International" title="Ecma International">Ecma International</a>, ISO/IEC, ANSI, or other third-party standards organization, the Oracle implementation is the <a href="/wiki/De_facto_standard" title="De facto standard">de facto standard</a>.</p>
<p>The Oracle implementation is packaged into two different distributions: The Java Runtime Environment (JRE) which contains the parts of the Java SE platform required to run Java programs and is intended for end users, and the <a href="/wiki/Java_Development_Kit" title="Java Development Kit">Java Development Kit</a> (JDK), which is intended for software developers and includes development tools such as the <a href="/wiki/Java_compiler" title="Java compiler">Java compiler</a>, <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a>, <a href="/wiki/JAR_(file_format)" title="JAR (file format)">Jar</a>, and a <a href="/wiki/Debugger" title="Debugger">debugger</a>.</p>
<p><a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a> is another notable Java SE implementation that is licensed under the GNU GPL. The implementation started when Sun began releasing the Java source code under the GPL. As of Java SE 7, OpenJDK is the official Java reference implementation.</p>
<p>The goal of Java is to make all implementations of Java compatible. Historically, Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> after Sun claimed that the Microsoft implementation did not support <a href="/wiki/Java_remote_method_invocation" title="Java remote method invocation">RMI</a> or <a href="/wiki/Java_Native_Interface" title="Java Native Interface">JNI</a> and had added platform-specific features of their own. Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span>[</span>35<span>]</span></a></sup> As a result, Microsoft no longer ships Java with <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Windows</a>.</p>
<p>Platform-independent Java is essential to <a href="/wiki/Java_Platform,_Enterprise_Edition" title="Java Platform, Enterprise Edition">Java EE</a>, and an even more rigorous validation is required to certify an implementation. This environment enables portable server-side applications.</p>
<h4><span class="mw-headline" id="Performance">Performance</span></h4>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_performance" title="Java performance">Java performance</a></div>
<p>Programs written in Java have a reputation for being slower and requiring more memory than those written in C++.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span>[</span>36<span>]</span></a></sup><sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span>[</span>37<span>]</span></a></sup> However, Java programs' execution speed improved significantly with the introduction of <a href="/wiki/Just-in-time_compilation" title="Just-in-time compilation">just-in-time compilation</a> in 1997/1998 for <a href="/wiki/Java_version_history" title="Java version history">Java 1.1</a>,<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span>[</span>38<span>]</span></a></sup> the addition of language features supporting better code analysis (such as inner classes, the StringBuilder class, optional assertions, etc.), and optimizations in the Java virtual machine, such as <a href="/wiki/HotSpot" title="HotSpot">HotSpot</a> becoming the default for Sun's JVM in 2000.</p>
<p>Some platforms offer direct hardware support for Java; there are microcontrollers that can run Java in hardware instead of a software Java virtual machine, and <a href="/wiki/ARM_architecture" title="ARM architecture">ARM</a> based processors can have hardware support for executing Java bytecode through their <a href="/wiki/Jazelle" title="Jazelle">Jazelle</a> option (while its support is mostly dropped in current implementations of ARM).</p>
<h3><span class="mw-headline" id="Automatic_memory_management">Automatic memory management</span></h3>
<p>Java uses an <a href="/wiki/Garbage_collection_(computer_science)" title="Garbage collection (computer science)">automatic garbage collector</a> to manage memory in the <a href="/wiki/Object_lifetime" title="Object lifetime">object lifecycle</a>. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the <a href="/wiki/Unreachable_memory" title="Unreachable memory">unreachable memory</a> becomes eligible to be freed automatically by the garbage collector. Something similar to a <a href="/wiki/Memory_leak" title="Memory leak">memory leak</a> may still occur if a programmer's code holds a reference to an object that is no longer needed, typically when objects that are no longer needed are stored in containers that are still in use. If methods for a nonexistent object are called, a "null pointer exception" is thrown.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span>[</span>39<span>]</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span>[</span>40<span>]</span></a></sup></p>
<p>One of the ideas behind Java's automatic memory management model is that programmers can be spared the burden of having to perform manual memory management. In some languages, memory for the creation of objects is implicitly allocated on the <a href="/wiki/Stack_(abstract_data_type)" title="Stack (abstract data type)">stack</a>, or explicitly allocated and deallocated from the <a href="/wiki/Memory_management#DYNAMIC" title="Memory management">heap</a>. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a <a href="/wiki/Memory_leak" title="Memory leak">memory leak</a> occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of <a href="/wiki/Smart_pointer" title="Smart pointer">smart pointers</a>, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, <i>i.e.</i>, those where the memory is still referenced but never used.</p>
<p>Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java.</p>
<p>Java does not support C/C++ style <a href="/wiki/Pointer_(computer_programming)" title="Pointer (computer programming)">pointer arithmetic</a>, where object addresses and unsigned integers (usually long integers) can be used interchangeably. This allows the garbage collector to relocate referenced objects and ensures type safety and security.</p>
<p>As in C++ and some other object-oriented languages, variables of Java's <a href="/wiki/Primitive_data_type" title="Primitive data type">primitive data types</a> are either stored directly in fields (for objects) or on the <a href="/wiki/Stack-based_memory_allocation" title="Stack-based memory allocation">stack</a> (for methods) rather than on the heap, as is commonly true for non-primitive data types (but see <a href="/wiki/Escape_analysis" title="Escape analysis">escape analysis</a>). This was a conscious decision by Java's designers for performance reasons.</p>
<p>Java contains multiple types of garbage collectors. By default,<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (June 2013)">citation needed</span></a></i>]</sup> HotSpot uses the <a href="/w/index.php?title=Parallel_scavenge_garbage_collector&amp;action=edit&amp;redlink=1" class="new" title="Parallel scavenge garbage collector (page does not exist)">parallel scavenge garbage collector</a>. However, there are also several other garbage collectors that can be used to manage the heap. For 90% of applications in Java, the <a href="/wiki/Concurrent_mark_sweep_collector" title="Concurrent mark sweep collector">Concurrent Mark-Sweep</a> garbage collector is sufficient.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span>[</span>41<span>]</span></a></sup> Oracle aims to replace CMS with the <a href="/w/index.php?title=Garbage-first_collector&amp;action=edit&amp;redlink=1" class="new" title="Garbage-first collector (page does not exist)">Garbage-first collector</a> (G1).</p>
<h2><span class="mw-headline" id="Syntax">Syntax</span></h2>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_syntax" title="Java syntax">Java syntax</a></div>
<p>The syntax of Java is largely influenced by <a href="/wiki/C%2B%2B" title="C++">C++</a>. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built almost exclusively as an object-oriented language.<sup id="cite_ref-design_goals_15-2" class="reference"><a href="#cite_note-design_goals-15"><span>[</span>15<span>]</span></a></sup> All code is written inside classes, and every data item is an object, with the exception of the primitive data types, <i>i.e.</i> integers, floating-point numbers, <a href="/wiki/Boolean_data_type" title="Boolean data type">boolean values</a>, and characters, which are not objects for performance reasons. Java reuses some popular aspects of C++ (such as printf() method).</p>
<p>Unlike C++, Java does not support <a href="/wiki/Operator_overloading" title="Operator overloading">operator overloading</a><sup id="cite_ref-msdn_operator_overloading_42-0" class="reference"><a href="#cite_note-msdn_operator_overloading-42"><span>[</span>42<span>]</span></a></sup> or <a href="/wiki/Multiple_inheritance" title="Multiple inheritance">multiple inheritance</a> for <i>classes</i>, though multiple inheritance is supported for <a href="/wiki/Interface_(Java)" title="Interface (Java)">interfaces</a>.<sup id="cite_ref-oracle_multiple_inheritance_43-0" class="reference"><a href="#cite_note-oracle_multiple_inheritance-43"><span>[</span>43<span>]</span></a></sup> This simplifies the language and aids in preventing potential errors and <a href="/wiki/Anti-pattern" title="Anti-pattern">anti-pattern</a> design.</p>
<p>Java uses comments similar to those of C++. There are three different styles of comments: a single line style marked with two slashes (<code>//</code>), a multiple line style opened with <code>/*</code> and closed with <code>*/</code>, and the <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a> commenting style opened with <code>/**</code> and closed with <code>*/</code>. The Javadoc style of commenting allows the user to run the Javadoc executable to create documentation for the program.</p>
<p><b>Example:</b></p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// This is an example of a single line comment using two slashes</span>

<span class="cm">/* This is an example of a multiple line comment using the slash and asterisk.</span>
<span class="cm"> This type of comment can be used to hold a lot of information or deactivate</span>
<span class="cm"> code, but it is very important to remember to close the comment. */</span>

<span class="kn">package</span> <span class="nn">fibsandlies</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.HashMap</span><span class="o">;</span>

<span class="cm">/**</span>
<span class="cm"> * This is an example of a Javadoc comment; Javadoc can compile documentation</span>
<span class="cm"> * from this text. Javadoc comments must immediately precede the class, method, or field being documented.</span>
<span class="cm"> */</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibCalculator</span> <span class="kd">extends</span> <span class="n">Fibonacci</span> <span class="kd">implements</span> <span class="n">Calculator</span> <span class="o">{</span>
    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Map</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">memoized</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;();</span>

    <span class="cm">/*</span>
<span class="cm">     * The main method written as follows is used by the JVM as a starting point for the program.</span>
<span class="cm">     */</span>
    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
        <span class="n">memoized</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">1</span><span class="o">);</span>
        <span class="n">memoized</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span> <span class="mi">1</span><span class="o">);</span>
        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">fibonacci</span><span class="o">(</span><span class="mi">12</span><span class="o">));</span> <span class="c1">//Get the 12th Fibonacci number and print to console</span>
    <span class="o">}</span>

    <span class="cm">/**</span>
<span class="cm">     * An example of a method written in Java, wrapped in a class.</span>
<span class="cm">     * Given a non-negative number FIBINDEX, returns</span>
<span class="cm">     * the Nth Fibonacci number, where N equals FIBINDEX.</span>
<span class="cm">     * @param fibIndex The index of the Fibonacci number</span>
<span class="cm">     * @return The Fibonacci number</span>
<span class="cm">     */</span>
    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">int</span> <span class="nf">fibonacci</span><span class="o">(</span><span class="kt">int</span> <span class="n">fibIndex</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="n">memoized</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">fibIndex</span><span class="o">))</span> <span class="o">{</span>
            <span class="k">return</span> <span class="n">memoized</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">fibIndex</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="kt">int</span> <span class="n">answer</span> <span class="o">=</span> <span class="n">fibonacci</span><span class="o">(</span><span class="n">fibIndex</span> <span class="o">-</span> <span class="mi">1</span><span class="o">)</span> <span class="o">+</span> <span class="n">fibonacci</span><span class="o">(</span><span class="n">fibIndex</span> <span class="o">-</span> <span class="mi">2</span><span class="o">);</span>
            <span class="n">memoized</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">fibIndex</span><span class="o">,</span> <span class="n">answer</span><span class="o">);</span>
            <span class="k">return</span> <span class="n">answer</span><span class="o">;</span>
        <span class="o">}</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<h2><span class="mw-headline" id="Examples">Examples</span></h2>
<h3><span class="mw-headline" id=".22Hello.2C_world.21.22_program">"Hello, world!" program</span></h3>
<p>The traditional <a href="/wiki/%22Hello,_world!%22_program" title="&quot;Hello, world!&quot; program" class="mw-redirect">"Hello, world!" program</a> can be written in Java as:<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span>[</span>44<span>]</span></a></sup></p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="kd">class</span> <span class="nc">HelloWorldApp</span> <span class="o">{</span>
    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello World!"</span><span class="o">);</span> <span class="c1">// Prints the string to the console.</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<p>Source files must be named after the public class they contain, appending the suffix <code>.java</code>, for example, <code>HelloWorldApp.java</code>. It must first be compiled into bytecode, using a <a href="/wiki/Java_compiler" title="Java compiler">Java compiler</a>, producing a file named <code>HelloWorldApp.class</code>. Only then can it be executed, or "launched". The Java source file may only contain one public class, but it can contain multiple classes with other than public access and any number of public <a href="/wiki/Inner_class" title="Inner class">inner classes</a>. When the source file contains multiple classes, make one class "public" and name the source file with that public class name.</p>
<p>A <code><b>class</b></code> that is not declared <code><b>public</b></code> may be stored in any .java file. The compiler will generate a class file for each class defined in the source file. The name of the class file is the name of the class, with <i>.class</i> appended. For class file generation, <a href="/wiki/Class_(computer_programming)#Unnamed" title="Class (computer programming)">anonymous classes</a> are treated as if their name were the concatenation of the name of their enclosing class, a <i>$</i>, and an integer.</p>
<p>The <a href="/wiki/List_of_Java_keywords" title="List of Java keywords">keyword</a> <code><b>public</b></code> denotes that a method can be called from code in other classes, or that a class may be used by classes outside the class hierarchy. The class hierarchy is related to the name of the directory in which the .java file is located. This is called an access level modifier. Other access level modifiers include the keywords <code><b>private</b></code> and <code><b>protected</b></code>.</p>
<p>The keyword <code><b>static</b></code> in front of a method indicates a <a href="/wiki/Method_(computer_programming)#Static_methods" title="Method (computer programming)">static method</a>, which is associated only with the class and not with any specific instance of that class. Only static methods can be invoked without a reference to an object. Static methods cannot access any class members that are not also static. Methods that are not designated static are instance methods, and require a specific instance of a class to operate.</p>
<p>The keyword <code><b>void</b></code> indicates that the main method does not return any value to the caller. If a Java program is to exit with an error code, it must call System.exit() explicitly.</p>
<p>The method name "<code>main</code>" is not a keyword in the Java language. It is simply the name of the method the Java launcher calls to pass control to the program. Java classes that run in managed environments such as applets and <a href="/wiki/Enterprise_JavaBeans" title="Enterprise JavaBeans">Enterprise JavaBeans</a> do not use or need a <code>main()</code> method. A Java program may contain multiple classes that have <code>main</code> methods, which means that the VM needs to be explicitly told which class to launch from.</p>
<p>The main method must accept an <a href="/wiki/Array_data_type" title="Array data type">array</a> of <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a></code></b> objects. By convention, it is referenced as <code><b>args</b></code> although any other legal identifier name can be used. Since Java 5, the main method can also use <a href="/wiki/Variadic_function" title="Variadic function">variable arguments</a>, in the form of <code>public static void main(String... args)</code>, allowing the main method to be invoked with an arbitrary number of <code>String</code> arguments. The effect of this alternate declaration is semantically identical (the <code>args</code> parameter is still an array of <code>String</code> objects), but it allows an alternative syntax for creating and passing the array.</p>
<p>The Java launcher launches Java by loading a given class (specified on the command line or as an attribute in a <a href="/wiki/JAR_(file_format)" title="JAR (file format)">JAR</a>) and starting its <code>public static void main(String[])</code> method. Stand-alone programs must declare this method explicitly. The <code>String[] args</code> parameter is an <a href="/wiki/Array_data_type" title="Array data type">array</a> of <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a></code> objects containing any arguments passed to the class. The parameters to <code>main</code> are often passed by means of a <a href="/wiki/Command-line_interface" title="Command-line interface">command line</a>.</p>
<p>Printing is part of a Java standard library: The <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/lang/System.html">System</a></code></b> class defines a public static field called <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/lang/System.html#out">out</a></code></b>. The <code>out</code> object is an instance of the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html">PrintStream</a></code> class and provides many methods for printing data to <a href="/wiki/Standard_streams" title="Standard streams">standard out</a>, including <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println(java.lang.String)">println(String)</a></code></b> which also appends a new line to the passed string.</p>
<p>The string "Hello World!" is automatically converted to a String object by the compiler.</p>
<h3><span class="mw-headline" id="Comprehensive_example">Comprehensive example</span></h3>
<table class="metadata plainlinks ambox ambox-content ambox-multiple_issues compact-ambox" role="presentation">
<tr>
<td class="mbox-image">
<div style="width:52px"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" width="40" height="40" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></div>
</td>
<td class="mbox-text">
<table class="mw-collapsible" style="width:95%; background:transparent;">
<tr>
<th style="text-align:left; padding:0.2em 2px 0.2em 0;">This section has multiple issues. <span style="font-weight: normal;">Please help <b><a class="external text" href="//en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;action=edit">improve it</a></b> or discuss these issues on the <b><a href="/wiki/Talk:Java_(programming_language)" title="Talk:Java (programming language)">talk page</a></b>.</span></th>
</tr>
<tr>
<td>
<table class="metadata plainlinks ambox ambox-content ambox-Unreferenced" role="presentation">
<tr>
<td class="mbox-image">
<div style="width:52px"><a href="/wiki/File:Question_book-new.svg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" width="50" height="39" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="262" data-file-height="204" /></a></div>
</td>
<td class="mbox-text"><span class="mbox-text-span">This section <b>does not <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">cite</a> any <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">sources</a></b>. <span class="hide-when-compact">Please help improve this section by <a href="/wiki/Help:Introduction_to_referencing_with_Wiki_Markup/1" title="Help:Introduction to referencing with Wiki Markup/1">adding citations to reliable sources</a>. Unsourced material may be challenged and <a href="/wiki/Wikipedia:Verifiability#Burden_of_evidence" title="Wikipedia:Verifiability">removed</a>.</span> <small><i>(May 2013)</i></small></span></td>
</tr>
</table>
<table class="metadata plainlinks ambox ambox-content" role="presentation">
<tr>
<td class="mbox-image">
<div style="width:52px"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" width="40" height="40" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></div>
</td>
<td class="mbox-text"><span class="mbox-text-span">This section <b>contains <a href="/wiki/Wikipedia:What_Wikipedia_is_not#NOTHOWTO" title="Wikipedia:What Wikipedia is not">instructions, advice, or how-to content</a></b>. <span class="hide-when-compact">The purpose of Wikipedia is to present facts, not to train. Please help <a class="external text" href="//en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;action=edit">improve this article</a> either by rewriting the how-to content or by <a href="//meta.wikimedia.org/wiki/Help:Transwiki" class="extiw" title="m:Help:Transwiki">moving</a> it to <a href="//en.wikiversity.org/wiki/" class="extiw" title="v:">Wikiversity</a>, <a href="//en.wikibooks.org/wiki/" class="extiw" title="b:">Wikibooks</a> or <a href="//en.wikivoyage.org/wiki/" class="extiw" title="voy:">Wikivoyage</a>.</span> <small><i>(May 2013)</i></small></span></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// OddEven.java</span>
<span class="kn">import</span> <span class="nn">javax.swing.JOptionPane</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">OddEven</span> <span class="o">{</span>

    <span class="kd">private</span> <span class="kt">int</span> <span class="n">userInput</span><span class="o">;</span> <span class="c1">// a whole number("int" means integer)</span>

    <span class="cm">/**</span>
<span class="cm">     * This is the constructor method. It gets called when an object of the OddEven type</span>
<span class="cm">     * is being created.</span>
<span class="cm">     */</span>
    <span class="kd">public</span> <span class="nf">OddEven</span><span class="o">()</span> <span class="o">{</span>
        <span class="cm">/*</span>
<span class="cm">         * In most Java programs constructors can initialize objects with default values, or create</span>
<span class="cm">         * other objects that this object might use to perform its functions. In some Java programs, the</span>
<span class="cm">         * constructor may simply be an empty function if nothing needs to be initialized prior to the</span>
<span class="cm">         * functioning of the object. In this program's case, an empty constructor would suffice.</span>
<span class="cm">         * A constructor must exist; however, if the user doesn't put one in then the compiler</span>
<span class="cm">         * will create an empty one.</span>
<span class="cm">         */</span>
    <span class="o">}</span>

    <span class="cm">/**</span>
<span class="cm">     * This is the main method. It gets called when this class is run through a Java interpreter.</span>
<span class="cm">     * @param args command line arguments (unused)</span>
<span class="cm">     */</span>
    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="kd">final</span> <span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
       <span class="cm">/*</span>
<span class="cm">        * This line of code creates a new instance of this class called "number" (also known as an</span>
<span class="cm">        * Object) and initializes it by calling the constructor. The next line of code calls</span>
<span class="cm">        * the "showDialog()" method, which brings up a prompt to ask you for a number.</span>
<span class="cm">        */</span>
       <span class="n">OddEven</span> <span class="n">number</span> <span class="o">=</span> <span class="k">new</span> <span class="n">OddEven</span><span class="o">();</span>
       <span class="n">number</span><span class="o">.</span><span class="na">showDialog</span><span class="o">();</span>
    <span class="o">}</span>

    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">showDialog</span><span class="o">()</span> <span class="o">{</span>
        <span class="cm">/*</span>
<span class="cm">         * "try" makes sure nothing goes wrong. If something does,</span>
<span class="cm">         * the interpreter skips to "catch" to see what it should do.</span>
<span class="cm">         */</span>
        <span class="k">try</span> <span class="o">{</span>
            <span class="cm">/*</span>
<span class="cm">             * The code below brings up a JOptionPane, which is a dialog box</span>
<span class="cm">             * The String returned by the "showInputDialog()" method is converted into</span>
<span class="cm">             * an integer, making the program treat it as a number instead of a word.</span>
<span class="cm">             * After that, this method calls a second method, calculate() that will</span>
<span class="cm">             * display either "Even" or "Odd."</span>
<span class="cm">             */</span>
            <span class="n">userInput</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">JOptionPane</span><span class="o">.</span><span class="na">showInputDialog</span><span class="o">(</span><span class="s">"Please enter a number."</span><span class="o">));</span>
            <span class="n">calculate</span><span class="o">();</span>
        <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="kd">final</span> <span class="n">NumberFormatException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
            <span class="cm">/*</span>
<span class="cm">             * Getting in the catch block means that there was a problem with the format of</span>
<span class="cm">             * the number. Probably some letters were typed in instead of a number.</span>
<span class="cm">             */</span>
            <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"ERROR: Invalid input. Please type in a numerical value."</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">}</span>

    <span class="cm">/**</span>
<span class="cm">     * When this gets called, it sends a message to the interpreter.</span>
<span class="cm">     * The interpreter usually shows it on the command prompt (For Windows users)</span>
<span class="cm">     * or the terminal (For *nix users).(Assuming it's open)</span>
<span class="cm">     */</span>
    <span class="kd">private</span> <span class="kt">void</span> <span class="nf">calculate</span><span class="o">()</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">((</span><span class="n">userInput</span> <span class="o">%</span> <span class="mi">2</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
            <span class="n">JOptionPane</span><span class="o">.</span><span class="na">showMessageDialog</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">"Even"</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="n">JOptionPane</span><span class="o">.</span><span class="na">showMessageDialog</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">"Odd"</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<ul>
<li>The <b><a href="/wiki/List_of_Java_keywords#import" title="List of Java keywords">import</a></b> statement imports the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/JOptionPane.html">JOptionPane</a></code></b> class from the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/package-summary.html">javax.swing</a></code></b> <a href="/wiki/Java_package" title="Java package">package</a>.</li>
<li>The <code><b>OddEven</b></code> class declares a single <code><b><a href="//en.wikibooks.org/wiki/Java_Programming/Classes,_Objects_and_Types" class="extiw" title="b:Java Programming/Classes, Objects and Types">private</a></b></code> <a href="/wiki/Field_(computer_science)" title="Field (computer science)">field</a> of type <code><b>int</b></code> named <code><b>userInput</b></code>. Every instance of the <code>OddEven</code> class has its own copy of the <code>userInput</code> field. The private declaration means that no other class can access (read or write) the <code>userInput</code> field.</li>
<li><code><b>OddEven()</b></code> is a <code><b>public</b></code> <a href="/wiki/Constructor_(object-oriented_programming)" title="Constructor (object-oriented programming)">constructor</a>. Constructors have the same name as the enclosing class they are declared in, and unlike a method, have no <a href="/wiki/Return_type" title="Return type">return type</a>. A constructor is used to initialize an <a href="/wiki/Object_(computer_science)" title="Object (computer science)">object</a> that is a newly created instance of the class.</li>
<li>The <code><b>calculate()</b></code> method is declared without the <a href="/wiki/Static_(keyword)" title="Static (keyword)"><code>static</code> keyword</a>. This means that the method is invoked using a specific instance of the <code>OddEven</code> class. (The <a href="/wiki/Reference_(computer_science)" title="Reference (computer science)">reference</a> used to invoke the method is passed as an undeclared parameter of type <code>OddEven</code> named <code><b><a href="/wiki/This_(computer_programming)" title="This (computer programming)">this</a></b></code>.) The method tests the expression <code>userInput&#160;% 2 == 0</code> using the <code><b><a href="/wiki/List_of_Java_keywords#if" title="List of Java keywords">if</a></b></code> keyword to see if the remainder of dividing the <code>userInput</code> field belonging to the instance of the class by two is zero. If this expression is true, then it prints <b>Even</b>; if this expression is false it prints <b>Odd</b>. (The <code>calculate</code> method can be equivalently accessed as <code>this.calculate</code> and the <code>userInput</code> field can be equivalently accessed as <code>this.userInput</code>, which both explicitly use the undeclared <code>this</code> parameter.)</li>
<li><code><b>OddEven number = new OddEven();</b></code> declares a local object <a href="/wiki/Reference_(computer_science)" title="Reference (computer science)">reference</a> variable in the <code>main</code> method named <code>number</code>. This variable can hold a reference to an object of type <code>OddEven</code>. The declaration initializes <code>number</code> by first creating an instance of the <code>OddEven</code> class, using the <code><b><a href="/wiki/List_of_Java_keywords#new" title="List of Java keywords">new</a></b></code> keyword and the <code>OddEven()</code> constructor, and then assigning this instance to the variable.</li>
<li>The statement <code><b>number.showDialog();</b></code> calls the calculate method. The instance of <code>OddEven</code> object referenced by the <code>number</code> <a href="/wiki/Local_variable" title="Local variable">local variable</a> is used to invoke the method and passed as the undeclared <code>this</code> parameter to the <code>calculate</code> method.</li>
<li><code><b>userInput = Integer.parseInt(JOptionPane.showInputDialog("Please Enter A Number"));</b></code> is a statement that converts the type of <b>String</b> to the <a href="/wiki/Primitive_data_type" title="Primitive data type">primitive data type</a> <b>int</b> by using a utility function in the <a href="/wiki/Primitive_wrapper_class" title="Primitive wrapper class">primitive wrapper class</a> <b>Integer</b>.</li>
</ul>
<h2><span class="mw-headline" id="Special_classes">Special classes</span></h2>
<table class="metadata plainlinks ambox ambox-content" role="presentation">
<tr>
<td class="mbox-image">
<div style="width:52px"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" width="40" height="40" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></div>
</td>
<td class="mbox-text"><span class="mbox-text-span">This section <b>contains <a href="/wiki/Wikipedia:What_Wikipedia_is_not#NOTHOWTO" title="Wikipedia:What Wikipedia is not">instructions, advice, or how-to content</a></b>. <span class="hide-when-compact">The purpose of Wikipedia is to present facts, not to train. Please help <a class="external text" href="//en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;action=edit">improve this article</a> either by rewriting the how-to content or by <a href="//meta.wikimedia.org/wiki/Help:Transwiki" class="extiw" title="m:Help:Transwiki">moving</a> it to <a href="//en.wikiversity.org/wiki/" class="extiw" title="v:">Wikiversity</a>, <a href="//en.wikibooks.org/wiki/" class="extiw" title="b:">Wikibooks</a> or <a href="//en.wikivoyage.org/wiki/" class="extiw" title="voy:">Wikivoyage</a>.</span> <small><i>(January 2012)</i></small></span></td>
</tr>
</table>
<h3><span class="mw-headline" id="Applet">Applet</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_applet" title="Java applet">Java applet</a></div>
<p>Java applets are programs that are embedded in other applications, typically in a Web page displayed in a web browser.</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// Hello.java</span>
<span class="kn">import</span> <span class="nn">javax.swing.JApplet</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.awt.Graphics</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Hello</span> <span class="kd">extends</span> <span class="n">JApplet</span> <span class="o">{</span>
    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">paintComponent</span><span class="o">(</span><span class="kd">final</span> <span class="n">Graphics</span> <span class="n">g</span><span class="o">)</span> <span class="o">{</span>
        <span class="n">g</span><span class="o">.</span><span class="na">drawString</span><span class="o">(</span><span class="s">"Hello, world!"</span><span class="o">,</span> <span class="mi">65</span><span class="o">,</span> <span class="mi">95</span><span class="o">);</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<p>The <code><b>import</b></code> statements direct the <a href="/wiki/Java_compiler" title="Java compiler">Java compiler</a> to include the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/JApplet.html">javax.swing.JApplet</a></code></b> and <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Graphics.html">java.awt.Graphics</a></code></b> classes in the compilation. The import statement allows these classes to be referenced in the <a href="/wiki/Source_code" title="Source code">source code</a> using the <i>simple class name</i> (i.e. <code>JApplet</code>) instead of the <i>fully qualified class name</i> (<i>FQCN</i>, i.e. <code>javax.swing.JApplet</code>).</p>
<p>The <code>Hello</code> class <code><b>extends</b></code> (<a href="/wiki/Inheritance_(object-oriented_programming)#Subclasses_and_superclasses" title="Inheritance (object-oriented programming)">subclasses</a>) the <code><b>JApplet</b></code> (Java Applet) class; the <code>JApplet</code> class provides the framework for the host application to display and control the <a href="/wiki/Object_lifetime" title="Object lifetime">lifecycle</a> of the applet. The <code>JApplet</code> class is a JComponent (Java Graphical Component) which provides the applet with the capability to display a <a href="/wiki/Graphical_user_interface" title="Graphical user interface">graphical user interface</a> (GUI) and respond to user <a href="/wiki/Event-driven_programming" title="Event-driven programming">events</a>.</p>
<p>The <code>Hello</code> class <a href="/wiki/Method_overriding" title="Method overriding">overrides</a> the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Container.html#paint(java.awt.Graphics)">paintComponent(Graphics)</a></code></b> method (additionally indicated with the <a href="/wiki/Java_annotation" title="Java annotation">annotation</a>, supported as of JDK 1.5, <code>Override</code>) inherited from the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Container.html">Container</a></code> <a href="/wiki/Inheritance_(object-oriented_programming)#Subclasses_and_superclasses" title="Inheritance (object-oriented programming)">superclass</a> to provide the code to display the applet. The <code>paintComponent()</code> method is passed a <code><b>Graphics</b></code> object that contains the graphic context used to display the applet. The <code>paintComponent()</code> method calls the graphic context <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Graphics.html#drawString(java.lang.String,%20int,%20int)">drawString(String, int, int)</a></code></b> method to display the <b>"Hello, world!"</b> string at a <a href="/wiki/Pixel" title="Pixel">pixel</a> offset of (<code><b>65, 95</b></code>) from the upper-left corner in the applet's display.</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="cp">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"</span>
<span class="cp">"http://www.w3.org/TR/html4/strict.dtd"&gt;</span>
<span class="c">&lt;!-- Hello.html --&gt;</span>
<span class="p">&lt;</span><span class="nt">html</span><span class="p">&gt;</span>
    <span class="p">&lt;</span><span class="nt">head</span><span class="p">&gt;</span>
        <span class="p">&lt;</span><span class="nt">title</span><span class="p">&gt;</span>Hello World Applet<span class="p">&lt;/</span><span class="nt">title</span><span class="p">&gt;</span>
    <span class="p">&lt;/</span><span class="nt">head</span><span class="p">&gt;</span>
    <span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span>
        <span class="p">&lt;</span><span class="nt">applet</span> <span class="na">code</span><span class="o">=</span><span class="s">"Hello.class"</span> <span class="na">width</span><span class="o">=</span><span class="s">"200"</span> <span class="na">height</span><span class="o">=</span><span class="s">"200"</span><span class="p">&gt;</span>
        <span class="p">&lt;/</span><span class="nt">applet</span><span class="p">&gt;</span>
    <span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
<span class="p">&lt;/</span><span class="nt">html</span><span class="p">&gt;</span>
</pre></div>
<p>An applet is placed in an <a href="/wiki/HTML" title="HTML">HTML</a> document using the <b><code>&lt;applet&gt;</code></b> <a href="/wiki/HTML_element" title="HTML element">HTML element</a>. The <code>applet</code> tag has three attributes set: <b><code>code="Hello"</code></b> specifies the name of the <code>JApplet</code> class and <b><code>width="200" height="200"</code></b> sets the pixel width and height of the applet. Applets may also be embedded in HTML using either the <code>object</code> or <code>embed</code> element,<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span>[</span>45<span>]</span></a></sup> although support for these elements by web browsers is inconsistent.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span>[</span>46<span>]</span></a></sup> However, the <code>applet</code> tag is deprecated, so the <code>object</code> tag is preferred where supported.</p>
<p>The host application, typically a Web browser, instantiates the <b><code>Hello</code></b> applet and creates an <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html">AppletContext</a></code> for the applet. Once the applet has initialized itself, it is added to the AWT display hierarchy. The <code>paintComponent()</code> method is called by the AWT <a href="/wiki/Event_dispatching_thread" title="Event dispatching thread">event dispatching thread</a> whenever the display needs the applet to draw itself.</p>
<h3><span class="mw-headline" id="Servlet">Servlet</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_Servlet" title="Java Servlet" class="mw-redirect">Java Servlet</a></div>
<p><a href="/wiki/Java_Servlet" title="Java Servlet" class="mw-redirect">Java Servlet</a> technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems. Servlets are <a href="/wiki/Server-side" title="Server-side">server-side</a> Java EE components that generate responses (typically <a href="/wiki/HTML" title="HTML">HTML</a> pages) to requests (typically <a href="/wiki/Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a> requests) from <a href="/wiki/Client_(computing)" title="Client (computing)">clients</a>. A servlet can almost be thought of as an applet that runs on the server side—without a face.</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// Hello.java</span>
<span class="kn">import</span> <span class="nn">java.io.*</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">javax.servlet.*</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Hello</span> <span class="kd">extends</span> <span class="n">GenericServlet</span> <span class="o">{</span>
    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">service</span><span class="o">(</span><span class="kd">final</span> <span class="n">ServletRequest</span> <span class="n">request</span><span class="o">,</span> <span class="kd">final</span> <span class="n">ServletResponse</span> <span class="n">response</span><span class="o">)</span>
    <span class="kd">throws</span> <span class="n">ServletException</span><span class="o">,</span> <span class="n">IOException</span> <span class="o">{</span>
        <span class="n">response</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="s">"text/html"</span><span class="o">);</span>
        <span class="kd">final</span> <span class="n">PrintWriter</span> <span class="n">pw</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="na">getWriter</span><span class="o">();</span>
        <span class="k">try</span> <span class="o">{</span>
            <span class="n">pw</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello, world!"</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">finally</span> <span class="o">{</span>
            <span class="n">pw</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
        <span class="o">}</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<p>The <b><code>import</code></b> statements direct the Java compiler to include all the public classes and <a href="/wiki/Interface_(Java)" title="Interface (Java)">interfaces</a> from the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/package-summary.html">java.io</a></code></b> and <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/package-summary.html">javax.servlet</a></code></b> packages in the compilation. Packages make Java well suited for large scale applications.</p>
<p>The <code><b>Hello</b></code> class <code><b>extends</b></code> the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/GenericServlet.html">GenericServlet</a></code></b> class; the <code>GenericServlet</code> class provides the interface for the <a href="/wiki/Server_(computing)" title="Server (computing)">server</a> to forward requests to the servlet and control the servlet's lifecycle.</p>
<p>The <code>Hello</code> class overrides the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/Servlet.html#service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)">service(ServletRequest, ServletResponse)</a></code></b> method defined by the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/Servlet.html">Servlet</a></code> <a href="/wiki/Interface_(Java)" title="Interface (Java)">interface</a> to provide the code for the service request handler. The <code>service()</code> method is passed: a <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html">ServletRequest</a></code></b> object that contains the request from the client and a <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html">ServletResponse</a></code></b> object used to create the response returned to the client. The <code>service()</code> method declares that it <code><b>throws</b></code> the <a href="/wiki/Exception_handling" title="Exception handling">exceptions</a> <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/ServletException.html">ServletException</a></code> and <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/IOException.html">IOException</a></code> if a problem prevents it from responding to the request.</p>
<p>The <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html#setContentType(java.lang.String)">setContentType(String)</a></code></b> method in the response object is called to set the <a href="/wiki/MIME" title="MIME">MIME</a> content type of the returned data to <b>"text/html"</b>. The <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html#getWriter()">getWriter()</a></code></b> method in the response returns a <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html">PrintWriter</a></code></b> object that is used to write the data that is sent to the client. The <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html#println(java.lang.String)">println(String)</a></code></b> method is called to write the <b>"Hello, world!"</b> string to the response and then the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html#close()">close()</a></code></b> method is called to close the print writer, which causes the data that has been written to the stream to be returned to the client.</p>
<h3><span class="mw-headline" id="JavaServer_Pages">JavaServer Pages</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/JavaServer_Pages" title="JavaServer Pages">JavaServer Pages</a></div>
<p>JavaServer Pages (JSP) are <a href="/wiki/Server-side" title="Server-side">server-side</a> Java EE components that generate responses, typically <a href="/wiki/HTML" title="HTML">HTML</a> pages, to <a href="/wiki/Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a> requests from <a href="/wiki/Client_(computing)" title="Client (computing)">clients</a>. JSPs embed Java code in an HTML page by using the special <a href="/wiki/Delimiter" title="Delimiter">delimiters</a> <code>&lt;%</code> and <code>%&gt;</code>. A JSP is compiled to a Java <i>servlet</i>, a Java application in its own right, the first time it is accessed. After that, the generated servlet creates the response.</p>
<h3><span class="mw-headline" id="Swing_application">Swing application</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Swing_(Java)" title="Swing (Java)">Swing (Java)</a></div>
<p><a href="/wiki/Swing_(Java)" title="Swing (Java)">Swing</a> is a graphical user interface <a href="/wiki/Library_(computing)" title="Library (computing)">library</a> for the Java SE platform. It is possible to specify a different look and feel through the <a href="/wiki/Pluggable_look_and_feel" title="Pluggable look and feel">pluggable look and feel</a> system of Swing. Clones of <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="/wiki/GTK%2B" title="GTK+">GTK+</a> and <a href="/wiki/Motif_(software)" title="Motif (software)">Motif</a> are supplied by Sun. <a href="/wiki/Apple_Inc." title="Apple Inc.">Apple</a> also provides an <a href="/wiki/Aqua_(user_interface)" title="Aqua (user interface)">Aqua</a> look and feel for <a href="/wiki/OS_X" title="OS X">Mac OS X</a>. Where prior implementations of these looks and feels may have been considered lacking, Swing in Java SE 6 addresses this problem by using more native <a href="/wiki/Graphical_control_element" title="Graphical control element" class="mw-redirect">GUI widget</a> drawing routines of the underlying platforms.</p>
<p>This example Swing application creates a single window with "Hello, world!" inside:</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// Hello.java (Java SE 5)</span>
<span class="kn">import</span> <span class="nn">javax.swing.*</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Hello</span> <span class="kd">extends</span> <span class="n">JFrame</span> <span class="o">{</span>
    <span class="kd">public</span> <span class="nf">Hello</span><span class="o">()</span> <span class="o">{</span>
        <span class="kd">super</span><span class="o">(</span><span class="s">"hello"</span><span class="o">);</span>
        <span class="kd">super</span><span class="o">.</span><span class="na">setDefaultCloseOperation</span><span class="o">(</span><span class="n">WindowConstants</span><span class="o">.</span><span class="na">EXIT_ON_CLOSE</span><span class="o">);</span>
        <span class="kd">super</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="n">JLabel</span><span class="o">(</span><span class="s">"Hello, world!"</span><span class="o">));</span>
        <span class="kd">super</span><span class="o">.</span><span class="na">pack</span><span class="o">();</span>
        <span class="kd">super</span><span class="o">.</span><span class="na">setVisible</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
    <span class="o">}</span>

    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="kd">final</span> <span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">new</span> <span class="n">Hello</span><span class="o">();</span>
    <span class="o">}</span>
<span class="o">}</span>
</pre></div>
<p>The first <b><code>import</code></b> includes all the public classes and interfaces from the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/package-summary.html">javax.swing</a></code></b> package.</p>
<p>The <code><b>Hello</b></code> class <code><b>extends</b></code> the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/JFrame.html">JFrame</a></code></b> class; the <code>JFrame</code> class implements a <a href="/wiki/Window_(computing)" title="Window (computing)">window</a> with a <a href="/wiki/Title_bar" title="Title bar" class="mw-redirect">title bar</a> and a close <a href="/wiki/Graphical_control_element" title="Graphical control element" class="mw-redirect">control</a>.</p>
<p>The <code><b>Hello()</b></code> <a href="/wiki/Constructor_(object-oriented_programming)" title="Constructor (object-oriented programming)">constructor</a> initializes the frame by first calling the superclass constructor, passing the parameter <code>"hello"</code>, which is used as the window's title. It then calls the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation(int)">setDefaultCloseOperation(int)</a></code></b> method inherited from <code>JFrame</code> to set the default operation when the close control on the title bar is selected to <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/WindowConstants.html#EXIT_ON_CLOSE">WindowConstants.EXIT_ON_CLOSE</a></code></b> – this causes the <code>JFrame</code> to be disposed of when the frame is closed (as opposed to merely hidden), which allows the Java virtual machine to exit and the program to terminate. Next, a <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/javax/swing/JLabel.html">JLabel</a></code></b> is created for the string <b>"Hello, world!"</b> and the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Container.html#add(java.awt.Component)">add(Component)</a></code></b> method inherited from the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Container.html">Container</a></code> superclass is called to add the label to the frame. The <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Window.html#pack()">pack()</a></code></b> method inherited from the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Window.html">Window</a></code> superclass is called to size the window and lay out its contents.</p>
<p>The <code><b>main()</b></code> method is called by the Java virtual machine when the program starts. It <a href="/wiki/Object_(computer_science)" title="Object (computer science)">instantiates</a> a new <b><code>Hello</code></b> frame and causes it to be displayed by calling the <b><code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Component.html#setVisible(boolean)">setVisible(boolean)</a></code></b> method inherited from the <code><a rel="nofollow" class="external text" href="//docs.oracle.com/javase/8/docs/api/java/awt/Component.html">Component</a></code> superclass with the boolean parameter <code><b>true</b></code>. Once the frame is displayed, exiting the <code>main</code> method does not cause the program to terminate because the AWT <a href="/wiki/Event_dispatching_thread" title="Event dispatching thread">event dispatching thread</a> remains active until all of the Swing top-level windows have been disposed.</p>
<h3><span class="mw-headline" id="Generics">Generics</span></h3>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Generics_in_Java" title="Generics in Java">Generics in Java</a></div>
<p>In 2004, <a href="/wiki/Generic_programming" title="Generic programming">generics</a> were added to the Java language, as part of J2SE 5.0. Prior to the introduction of generics, each variable declaration had to be of a specific type. For container classes, for example, this is a problem because there is no easy way to create a container that accepts only specific types of objects. Either the container operates on all subtypes of a class or interface, usually <code>Object</code>, or a different container class has to be created for each contained class. Generics allow compile-time type checking without having to create many container classes, each containing almost identical code. In addition to enabling more efficient code, certain runtime exceptions are converted to compile-time errors, a characteristic known as <a href="/wiki/Type_safety" title="Type safety">type safety</a>.</p>
<h2><span class="mw-headline" id="Criticism">Criticism</span></h2>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Criticism_of_Java" title="Criticism of Java">Criticism of Java</a></div>
<p>Criticisms directed at Java include the implementation of generics,<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span>[</span>47<span>]</span></a></sup> speed,<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span>[</span>48<span>]</span></a></sup> the handling of unsigned numbers,<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span>[</span>49<span>]</span></a></sup> the implementation of floating-point arithmetic,<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span>[</span>50<span>]</span></a></sup> and a history of security vulnerabilities in the primary Java VM implementation <a href="/wiki/HotSpot" title="HotSpot">HotSpot</a>.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span>[</span>51<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Use_on_unofficial_software_platforms">Use on unofficial software platforms</span></h2>
<p>The Java programming language requires the presence of a software platform in order for compiled programs to be executed. A well-known unofficial Java-like software platform is the Android software platform, which allows the use of Java 6 and some Java 7 features, uses a different standard library (<a href="/wiki/Apache_Harmony" title="Apache Harmony">Apache Harmony</a> reimplementation), different bytecode language and different virtual machine, and is designed for low-memory devices such as <a href="/wiki/Smartphone" title="Smartphone">smartphones</a> and <a href="/wiki/Tablet_computer" title="Tablet computer">tablet computers</a>.</p>
<div class="thumb tright">
<div class="thumbinner" style="width:172px;"><a href="/wiki/File:Android_6.0-en.png" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Android_6.0-en.png/170px-Android_6.0-en.png" width="170" height="302" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Android_6.0-en.png/255px-Android_6.0-en.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Android_6.0-en.png/340px-Android_6.0-en.png 2x" data-file-width="1080" data-file-height="1920" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Android_6.0-en.png" class="internal" title="Enlarge"></a></div>
<a href="/wiki/Android_(operating_system)" title="Android (operating system)">The Android</a> operating system makes extensive use of Java-related technology</div>
</div>
</div>
<h3><span class="mw-headline" id="Google">Google</span></h3>
<div role="note" class="hatnote">See also: <a href="/wiki/Oracle_America,_Inc._v._Google,_Inc." title="Oracle America, Inc. v. Google, Inc.">Oracle America, Inc. v. Google, Inc.</a></div>
<p><a href="/wiki/Google" title="Google">Google</a> and Android, Inc. have chosen to use Java as a key pillar in the creation of the <a href="/wiki/Android_(operating_system)" title="Android (operating system)">Android operating system</a>, an <a href="/wiki/Open_source" title="Open source">open source</a> <a href="/wiki/Mobile_operating_system" title="Mobile operating system">mobile operating system</a>. Although the Android operating system, built on the <a href="/wiki/Linux_kernel" title="Linux kernel">Linux kernel</a>, was written largely in C, the <a href="/wiki/Android_software_development#SDK" title="Android software development">Android SDK</a> uses the Java language as the basis for Android applications. However, Android does not use the Java virtual machine, instead using Java bytecode as an intermediate step and ultimately targeting Android's own <a href="/wiki/Dalvik_(software)" title="Dalvik (software)">Dalvik virtual machine</a> or more recently <a href="/wiki/Android_Runtime" title="Android Runtime">Android Runtime</a> which actually compiles applications to native machine code upon installation.</p>
<p>Android also does not provide the full Java SE standard library, although the Android class library does include an independent implementation of a large subset of it. This led to a legal dispute between Oracle and Google. On May 7, 2012, a San Francisco jury found that if APIs could be copyrighted, then Google had infringed Oracle's copyrights by the use of Java in Android devices.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span>[</span>52<span>]</span></a></sup> District Judge <a href="/wiki/William_Haskell_Alsup" title="William Haskell Alsup">William Haskell Alsup</a> ruled on May 31, 2012, that APIs cannot be copyrighted,<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span>[</span>53<span>]</span></a></sup> but this was reversed by the United States Court of Appeals for the Federal Circuit in May 2014.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span>[</span>54<span>]</span></a></sup><sup id="cite_ref-cnet_appeals_55-0" class="reference"><a href="#cite_note-cnet_appeals-55"><span>[</span>55<span>]</span></a></sup><sup id="cite_ref-cafc_13-1021_56-0" class="reference"><a href="#cite_note-cafc_13-1021-56"><span>[</span>56<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Class_libraries">Class libraries</span></h2>
<table class="metadata plainlinks ambox ambox-content ambox-Refimprove" role="presentation">
<tr>
<td class="mbox-image">
<div style="width:52px"><a href="/wiki/File:Question_book-new.svg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" width="50" height="39" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="262" data-file-height="204" /></a></div>
</td>
<td class="mbox-text"><span class="mbox-text-span">This section <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>. <span class="hide-when-compact">Please help <a class="external text" href="//en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;action=edit">improve this article</a> by <a href="/wiki/Help:Introduction_to_referencing_with_Wiki_Markup/1" title="Help:Introduction to referencing with Wiki Markup/1">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.</span> <small><i>(December 2014)</i></small></span></td>
</tr>
</table>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Java_Class_Library" title="Java Class Library">Java Class Library</a></div>
<p>The <a href="/wiki/Java_Class_Library" title="Java Class Library">Java Class Library</a> is the <a href="/wiki/Standard_library" title="Standard library">standard library</a>, developed to support application development in Java. It is controlled by <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> in cooperation with others through the <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a> program. Companies or individuals participating in this process can influence the design and development of the APIs. This process has been a subject of controversy.<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Manual_of_Style/Dates_and_numbers#Chronological_items" title="Wikipedia:Manual of Style/Dates and numbers"><span title="The time period mentioned near this tag is ambiguous. (December 2014)">when?</span></a></i>]</sup> The class library contains features such as:</p>
<ul>
<li>The core libraries, which include:
<ul>
<li>IO/NIO</li>
<li>Networking</li>
<li><a href="/wiki/Reflection_(computer_programming)" title="Reflection (computer programming)">Reflection</a></li>
<li><a href="/wiki/Concurrent_computing" title="Concurrent computing">Concurrency</a></li>
<li><a href="/wiki/Generics_in_Java" title="Generics in Java">Generics</a></li>
<li>Scripting/Compiler</li>
<li><a href="/wiki/Functional_programming" title="Functional programming">Functional Programming</a> (Lambda, Streaming)</li>
<li><a href="/wiki/Java_collections_framework" title="Java collections framework">Collection libraries</a> that implement <a href="/wiki/Data_structure" title="Data structure">data structures</a> such as <a href="/wiki/List_(abstract_data_type)" title="List (abstract data type)">lists</a>, <a href="/wiki/Associative_array" title="Associative array">dictionaries</a>, <a href="/wiki/Tree_structure" title="Tree structure">trees</a>, <a href="/wiki/Set_(abstract_data_type)" title="Set (abstract data type)">sets</a>, <a href="/wiki/Queue_(abstract_data_type)" title="Queue (abstract data type)">queues</a> and <a href="/wiki/Double-ended_queue" title="Double-ended queue">double-ended queue</a>, or <a href="/wiki/Stack_(abstract_data_type)" title="Stack (abstract data type)">stacks</a><sup id="cite_ref-collections_57-0" class="reference"><a href="#cite_note-collections-57"><span>[</span>57<span>]</span></a></sup></li>
<li><a href="/wiki/XML" title="XML">XML</a> Processing (Parsing, Transforming, Validating) libraries</li>
<li><a href="/wiki/Computer_security" title="Computer security">Security</a><sup id="cite_ref-security_58-0" class="reference"><a href="#cite_note-security-58"><span>[</span>58<span>]</span></a></sup></li>
<li><a href="/wiki/Internationalization_and_localization" title="Internationalization and localization">Internationalization and localization</a> libraries<sup id="cite_ref-i18n_59-0" class="reference"><a href="#cite_note-i18n-59"><span>[</span>59<span>]</span></a></sup></li>
</ul>
</li>
<li>The integration libraries, which allow the application writer to communicate with external systems. These libraries include:
<ul>
<li>The <a href="/wiki/Java_Database_Connectivity" title="Java Database Connectivity">Java Database Connectivity</a> (JDBC) <a href="/wiki/Application_programming_interface" title="Application programming interface">API</a> for database access</li>
<li><a href="/wiki/Java_Naming_and_Directory_Interface" title="Java Naming and Directory Interface">Java Naming and Directory Interface</a> (JNDI) for lookup and discovery</li>
<li><a href="/wiki/Java_remote_method_invocation" title="Java remote method invocation">RMI</a> and <a href="/wiki/Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">CORBA</a> for distributed application development</li>
<li><a href="/wiki/Java_Management_Extensions" title="Java Management Extensions">JMX</a> for managing and monitoring applications</li>
</ul>
</li>
<li><a href="/wiki/User_interface" title="User interface">User interface</a> libraries, which include:
<ul>
<li>The (heavyweight, or <a href="/wiki/Native_(computing)" title="Native (computing)">native</a>) <a href="/wiki/Abstract_Window_Toolkit" title="Abstract Window Toolkit">Abstract Window Toolkit</a> (AWT), which provides <a href="/wiki/Graphical_user_interface" title="Graphical user interface">GUI</a> components, the means for laying out those components and the means for handling events from those components</li>
<li>The (lightweight) <a href="/wiki/Swing_(Java)" title="Swing (Java)">Swing</a> libraries, which are built on AWT but provide (non-native) implementations of the AWT widgetry</li>
<li>APIs for audio capture, processing, and playback</li>
<li><a href="/wiki/JavaFX" title="JavaFX">JavaFX</a></li>
</ul>
</li>
<li>A platform dependent implementation of the Java virtual machine that is the means by which the bytecodes of the Java libraries and third party applications are executed</li>
<li>Plugins, which enable <a href="/wiki/Java_applet" title="Java applet">applets</a> to be run in web browsers</li>
<li><a href="/wiki/Java_Web_Start" title="Java Web Start">Java Web Start</a>, which allows Java applications to be efficiently distributed to <a href="/wiki/End_user" title="End user">end users</a> across the <a href="/wiki/Internet" title="Internet">Internet</a></li>
<li>Licensing and documentation</li>
</ul>
<h2><span class="mw-headline" id="Documentation">Documentation</span></h2>
<div role="note" class="hatnote relarticle mainarticle">Main article: <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a></div>
<p>Javadoc is a comprehensive documentation system, created by <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>, used by many Java developers<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Manual_of_Style/Words_to_watch#Unsupported_attributions" title="Wikipedia:Manual of Style/Words to watch"><span title="The material near this tag may use weasel words or too-vague attribution. (September 2015)">by whom?</span></a></i>]</sup>. It provides developers with an organized system for documenting their code. Javadoc comments have an extra asterisk at the beginning, i.e. the delimiters are <code>/**</code> and <code>*/</code>, whereas the normal multi-line comments in Java are set off with the delimiters <code>/*</code> and <code>*/</code>.<sup id="cite_ref-javadoc_comments_60-0" class="reference"><a href="#cite_note-javadoc_comments-60"><span>[</span>60<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Editions">Editions</span></h2>
<div role="note" class="hatnote">See also: <a href="/wiki/Free_Java_implementations#Class_library" title="Free Java implementations">Free Java implementations § Class library</a></div>
<table class="vertical-navbox nowraplinks" style="float:right;clear:right;width:22.0em;margin:0 0 1.0em 1.0em;background:#f9f9f9;border:1px solid #aaa;padding:0.2em;border-spacing:0.4em 0;text-align:center;line-height:1.4em;font-size:88%">
<tr>
<th style="padding:0.2em 0.4em 0.2em;font-size:145%;line-height:1.2em"><a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a> editions</th>
</tr>
<tr>
<td style="padding:0.2em 0 0.4em"><a href="/wiki/File:Wave.svg" class="image"><img alt="Wave.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/60px-Wave.svg.png" width="60" height="108" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/90px-Wave.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/120px-Wave.svg.png 2x" data-file-width="226" data-file-height="407" /></a></td>
</tr>
<tr>
<td class="plainlist" style="padding:0 0.1em 0.4em;font-weight:bold">
<ul>
<li><a href="/wiki/Java_Card" title="Java Card">Java Card</a></li>
<li><a href="/wiki/Java_Platform,_Micro_Edition" title="Java Platform, Micro Edition">Micro Edition</a> (ME)</li>
<li><a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Standard Edition</a> (SE)</li>
<li><a href="/wiki/Java_Platform,_Enterprise_Edition" title="Java Platform, Enterprise Edition">Enterprise Edition</a> (EE)</li>
<li><a href="/wiki/JavaFX" title="JavaFX">JavaFX</a> (Merged to Java SE 8)</li>
<li><a href="/wiki/PersonalJava" title="PersonalJava">PersonalJava</a> (discontinued)</li>
</ul>
</td>
</tr>
<tr>
<td style="text-align:right;font-size:115%">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Java_platforms" title="Template:Java platforms"><abbr title="View this template">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Java_platforms" title="Template talk:Java platforms"><abbr title="Discuss this template">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Java_platforms&amp;action=edit"><abbr title="Edit this template">e</abbr></a></li>
</ul>
</div>
</td>
</tr>
</table>
<p>Sun has defined and supports four editions of Java targeting different application environments and segmented many of its <a href="/wiki/Application_programming_interface" title="Application programming interface">APIs</a> so that they belong to one of the platforms. The platforms are:</p>
<ul>
<li><a href="/wiki/Java_Card" title="Java Card">Java Card</a> for smartcards.<sup id="cite_ref-java_card_61-0" class="reference"><a href="#cite_note-java_card-61"><span>[</span>61<span>]</span></a></sup></li>
<li><a href="/wiki/Java_Platform,_Micro_Edition" title="Java Platform, Micro Edition">Java Platform, Micro Edition</a> (Java ME) – targeting environments with limited resources.<sup id="cite_ref-java_me_62-0" class="reference"><a href="#cite_note-java_me-62"><span>[</span>62<span>]</span></a></sup></li>
<li><a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Java Platform, Standard Edition</a> (Java SE) – targeting workstation environments.<sup id="cite_ref-java_se_63-0" class="reference"><a href="#cite_note-java_se-63"><span>[</span>63<span>]</span></a></sup></li>
<li><a href="/wiki/Java_Platform,_Enterprise_Edition" title="Java Platform, Enterprise Edition">Java Platform, Enterprise Edition</a> (Java EE) – targeting large distributed enterprise or Internet environments.<sup id="cite_ref-java_ee_64-0" class="reference"><a href="#cite_note-java_ee-64"><span>[</span>64<span>]</span></a></sup></li>
</ul>
<p>The <a href="/wiki/Class_(computer_programming)" title="Class (computer programming)">classes</a> in the Java APIs are organized into separate groups called <a href="/wiki/Java_package" title="Java package">packages</a>. Each package contains a set of related <a href="/wiki/Interface_(Java)" title="Interface (Java)">interfaces</a>, classes and <a href="/wiki/Exception_handling" title="Exception handling">exceptions</a>. Refer to the separate platforms for a description of the packages available.<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:TOPIC" title="Wikipedia:TOPIC" class="mw-redirect"><span title="The material in the vicinity of this tag may contain the information irrelevant to the section's main topic">relevant to this section?</span></a> <span class="metadata">– <a href="/wiki/Talk:Java_(programming_language)#Relevant" title="Talk:Java (programming language)">discuss</a></span></i>]</sup></p>
<p>Sun also provided an edition called <a href="/wiki/PersonalJava" title="PersonalJava">PersonalJava</a> that has been superseded by later, standards-based Java ME configuration-profile pairings.</p>
<h2><span class="mw-headline" id="See_also">See also</span></h2>
<div class="noprint portal tright" style="border:solid #aaa 1px;margin:0.5em 0 0.5em 1em">
<table style="background:#f9f9f9;font-size:85%;line-height:110%;max-width:175px">
<tr style="vertical-align:middle">
<td style="text-align:center"><a href="/wiki/File:Wave.svg" class="image"><img alt="Portal icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/15px-Wave.svg.png" width="15" height="28" class="noviewer" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/23px-Wave.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/31px-Wave.svg.png 2x" data-file-width="226" data-file-height="407" /></a></td>
<td style="padding:0 0.2em;vertical-align:middle;font-style:italic;font-weight:bold"><a href="/wiki/Portal:Java" title="Portal:Java">Java portal</a></td>
</tr>
<tr style="vertical-align:middle">
<td style="text-align:center"><a href="/wiki/File:8bit-dynamiclist.gif" class="image"><img alt="Portal icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1d/8bit-dynamiclist.gif/28px-8bit-dynamiclist.gif" width="28" height="28" class="noviewer" srcset="//upload.wikimedia.org/wikipedia/commons/1/1d/8bit-dynamiclist.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/1/1d/8bit-dynamiclist.gif 2x" data-file-width="32" data-file-height="32" /></a></td>
<td style="padding:0 0.2em;vertical-align:middle;font-style:italic;font-weight:bold"><a href="/wiki/Portal:Computer_programming" title="Portal:Computer programming">Computer programming portal</a></td>
</tr>
</table>
</div>
<table class="metadata mbox-small" style="border:1px solid #aaa;background-color:#f9f9f9">
<tr>
<td class="mbox-image"><img alt="Book icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Office-book.svg/30px-Office-book.svg.png" width="30" height="30" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Office-book.svg/45px-Office-book.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Office-book.svg/60px-Office-book.svg.png 2x" data-file-width="48" data-file-height="48" /></td>
<td class="mbox-text plainlist">
<ul style="font-weight: bold">
<li><a href="/wiki/Book:Programming_for_Students" title="Book:Programming for Students">Book: Programming for Students</a></li>
</ul>
</td>
</tr>
</table>
<ul>
<li><a href="/wiki/Dalvik_(software)" title="Dalvik (software)">Dalvik</a> – used in old Android versions, replaced by non-JIT <a href="/wiki/Android_Runtime" title="Android Runtime">Android Runtime</a></li>
<li><a href="/wiki/JavaOne" title="JavaOne">JavaOne</a></li>
<li><a href="/wiki/Java.net#Javapedia" title="Java.net">Javapedia</a></li>
<li><a href="/wiki/List_of_Java_virtual_machines" title="List of Java virtual machines">List of Java virtual machines</a></li>
<li><a href="/wiki/List_of_Java_APIs" title="List of Java APIs">List of Java APIs</a></li>
<li><a href="/wiki/List_of_JVM_languages" title="List of JVM languages">List of JVM languages</a></li>
<li><a href="/wiki/Graal_(compiler)" title="Graal (compiler)">Graal</a>, a project aiming to implement a high performance Java dynamic compiler and interpreter</li>
</ul>
<h3><span class="mw-headline" id="Comparison_of_Java_with_other_languages">Comparison of Java with other languages</span></h3>
<ul>
<li><a href="/wiki/Comparison_of_programming_languages" title="Comparison of programming languages">Comparison of programming languages</a></li>
<li><a href="/wiki/Comparison_of_Java_and_C%2B%2B" title="Comparison of Java and C++">Comparison of Java and C++</a></li>
<li><a href="/wiki/Comparison_of_C_Sharp_and_Java" title="Comparison of C Sharp and Java">Comparison of C# and Java</a></li>
</ul>
<h2><span class="mw-headline" id="Notes">Notes</span></h2>
<div class="reflist columns references-column-width" style="-moz-column-width: 30em; -webkit-column-width: 30em; column-width: 30em; list-style-type: decimal;">
<ol class="references">
<li id="cite_note-oraclejavahistory-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-oraclejavahistory_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-oraclejavahistory_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html">"The History of Java Technology"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">October 6,</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=The+History+of+Java+Technology&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Foverview%2Fjavahistory-index-198355.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">Java 5.0 added several new language features (the <a href="/wiki/Foreach_loop" title="Foreach loop">enhanced for loop</a>, <a href="/wiki/Object_type_(object-oriented_programming)#Autoboxing" title="Object type (object-oriented programming)">autoboxing</a>, <a href="/wiki/Variadic_function" title="Variadic function">varargs</a> and <a href="/wiki/Java_annotation" title="Java annotation">annotations</a>), after they were introduced in the similar (and competing) <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a> language <a rel="nofollow" class="external autonumber" href="http://www.barrycornelius.com/papers/java5/">[1]</a> <a rel="nofollow" class="external autonumber" href="http://www.levenez.com/lang/">[2]</a></span></li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web">Gosling, James; and McGilton, Henry (May 1996). <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/langenv-140151.html">"The Java Language Environment"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Gosling%2C+James%3B+and+McGilton%2C+Henry&amp;rft.btitle=The+Java+Language+Environment&amp;rft.date=1996-05&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Flangenv-140151.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web">Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. <a rel="nofollow" class="external text" href="http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#237601">"The Java Language Specification, 2nd Edition"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Gosling%2C+James%3B+Joy%2C+Bill%3B+Steele%2C+Guy%3B+and+Bracha%2C+Gilad&amp;rft.btitle=The+Java+Language+Specification%2C+2nd+Edition&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fjava.sun.com%2Fdocs%2Fbooks%2Fjls%2Fsecond_edition%2Fhtml%2Fintro.doc.html%23237601&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.computerworld.com.au/index.php/id;1422447371;pp;3;fp;4194304;fpid;1">"The A-Z of Programming Languages: Modula-3"</a>. Computerworld.com.au<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=The+A-Z+of+Programming+Languages%3A+Modula-3&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.computerworld.com.au%2Findex.php%2Fid%3B1422447371%3Bpp%3B3%3Bfp%3B4194304%3Bfpid%3B1&amp;rft.pub=Computerworld.com.au&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><a href="/wiki/Niklaus_Wirth" title="Niklaus Wirth">Niklaus Wirth</a> stated on a number of public occasions, e.g. in a lecture at the Polytechnic Museum, Moscow in September, 2005 (several independent first-hand accounts in Russian exist, e.g. one with an audio recording: <cite class="citation web">Filippova, Elena (September 22, 2005). <a rel="nofollow" class="external text" href="http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1155">"Niklaus Wirth's lecture at the Polytechnic Museum in Moscow"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Filippova%2C+Elena&amp;rft.btitle=Niklaus+Wirth%27s+lecture+at+the+Polytechnic+Museum+in+Moscow&amp;rft.date=2005-09-22&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.delphikingdom.com%2Fasp%2Fviewitem.asp%3Fcatalogid%3D1155&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span>), that the Sun Java design team licensed the Oberon compiler sources a number of years prior to the release of Java and examined it: a (relative) compactness, type safety, garbage collection, no multiple inheritance for classes – all these key overall design features are shared by Java and Oberon.</span></li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><a href="/wiki/Patrick_Naughton" title="Patrick Naughton">Patrick Naughton</a> cites <a href="/wiki/Objective-C" title="Objective-C">Objective-C</a> as a strong influence on the design of the Java programming language, stating that notable direct derivatives include Java interfaces (derived from Objective-C's <a href="/wiki/Objective-C#Protocols" title="Objective-C">protocol</a>) and primitive wrapper classes. <a rel="nofollow" class="external autonumber" href="http://cs.gmu.edu/~sean/stuff/java-objc.html">[3]</a></span></li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web">TechMetrix Research (1999). <a rel="nofollow" class="external text" href="http://www.fscript.org/prof/javapassport.pdf">"History of Java"</a> <span style="font-size:85%;">(PDF)</span>. <i>Java Application Servers Report</i>. <q>The project went ahead under the name "green" and the language was based on an old model of <a href="/wiki/UCSD_Pascal" title="UCSD Pascal">UCSD Pascal</a>, which makes it possible to generate interpretive code</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=History+of+Java&amp;rft.au=TechMetrix+Research&amp;rft.date=1999&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.fscript.org%2Fprof%2Fjavapassport.pdf&amp;rft.jtitle=Java+Application+Servers+Report&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://queue.acm.org/detail.cfm?id=1017013">"A Conversation with James Gosling – ACM Queue"</a>. Queue.acm.org. 2004-08-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=A+Conversation+with+James+Gosling+%93+ACM+Queue&amp;rft.date=2004-08-31&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fqueue.acm.org%2Fdetail.cfm%3Fid%3D1017013&amp;rft.pub=Queue.acm.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">In the summer of 1996, Sun was designing the precursor to what is now the event model of the AWT and the JavaBeans TM component architecture. Borland contributed greatly to this process. We looked very carefully at Delphi Object Pascal and built a working prototype of bound method references in order to understand their interaction with the Java programming language and its APIs.<a rel="nofollow" class="external text" href="https://web.archive.org/web/20120627043929/http://java.sun.com/docs/white/delegates.html">White Paper About Microsoft's "Delegates"</a></span></li>
<li id="cite_note-chplspec-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-chplspec_11-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://chapel.cray.com/spec/spec-0.98.pdf">"Chapel spec (Acknowledgements)"</a> <span style="font-size:85%;">(PDF)</span>. Cray Inc. 2015-10-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-01-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Chapel+spec+%28Acknowledgements%29&amp;rft.date=2015-10-01&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fchapel.cray.com%2Fspec%2Fspec-0.98.pdf&amp;rft.pub=Cray+Inc&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.infoworld.com/article/2610885/facebook-q-a--hack-brings-static-typing-to-php-world.html">"Facebook Q&amp;A: Hack brings static typing to PHP world"</a>. InfoWorld. 2014-03-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-01-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Facebook+Q%26A%3A+Hack+brings+static+typing+to+PHP+world&amp;rft.date=2014-03-26&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.infoworld.com%2Farticle%2F2610885%2Ffacebook-q-a--hack-brings-static-typing-to-php-world.html&amp;rft.pub=InfoWorld&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-FOOTNOTEGoslingJoySteeleBracha20141-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGoslingJoySteeleBracha20141_13-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGoslingJoySteeleBracha2014">Gosling et al. 2014</a>, p.&#160;1.</span></li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.computerweekly.com/Articles/2002/05/02/186793/write-once-run-anywhere.htm">"Write once, run anywhere?"</a>. <a href="/wiki/Computer_Weekly" title="Computer Weekly">Computer Weekly</a>. 2002-05-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-07-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Write+once%2C+run+anywhere%3F&amp;rft.date=2002-05-02&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.computerweekly.com%2FArticles%2F2002%2F05%2F02%2F186793%2Fwrite-once-run-anywhere.htm&amp;rft.pub=Computer+Weekly&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-design_goals-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-design_goals_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-design_goals_15-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-design_goals_15-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/intro-141325.html">"1.2 Design Goals of the Java™ Programming Language"</a>. Oracle. 1999-01-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-01-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=1.2+Design+Goals+of+the+Java%84%A2+Programming+Language&amp;rft.date=1999-01-01&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fintro-141325.html&amp;rft.pub=Oracle&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite class="citation web">McMillan, Robert (2013-08-01). <a rel="nofollow" class="external text" href="http://www.wired.com/2013/01/java-no-longer-a-favorite/">"Is Java Losing Its Mojo?"</a>. <a href="/wiki/Wired.com" title="Wired.com" class="mw-redirect">wired.com</a>. <q>Java is on the wane, at least according to one outfit that keeps on eye on the ever-changing world of computer programming languages. For more than a decade, it has dominated the Tiobe Programming Community Index – a snapshot of software developer enthusiasm that looks at things like internet search results to measure how much buzz different languages have. But lately, Java has been slipping.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Robert&amp;rft.aulast=McMillan&amp;rft.btitle=Is+Java+Losing+Its+Mojo%3F&amp;rft.date=2013-08-01&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.wired.com%2F2013%2F01%2Fjava-no-longer-a-favorite%2F&amp;rft.pub=wired.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://redmonk.com/sogrady/2015/01/14/language-rankings-1-15/">RedMonk Index</a> on redmonk.com (Stephen O'Grady, January 2015)</span></li>
<li id="cite_note-languagepopularity2013-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-languagepopularity2013_18-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.langpop.com/">"Programming Language Popularity"</a>. langpop.com. 2013-10-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-04-02</span></span>. <q>Normalized Comparison: 1st C, 2nd Java, 3rd PHP</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Programming+Language+Popularity&amp;rft.date=2013-10-25&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.langpop.com%2F&amp;rft.pub=langpop.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">"TIOBE Programming Community Index"</a>. 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-04-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=TIOBE+Programming+Community+Index&amp;rft.date=2015&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.tiobe.com%2Findex.php%2Fcontent%2Fpaperinfo%2Ftpci%2Findex.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite class="citation web">Byous, Jon (c. 1998). <a rel="nofollow" class="external text" href="http://web.archive.org/web/20050420081440/http://java.sun.com/features/1998/05/birthday.html">"Java technology: The early years"</a>. <i>Sun Developer Network</i>. <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>. Archived from <a rel="nofollow" class="external text" href="http://java.sun.com/features/1998/05/birthday.html">the original</a> on 2005-04-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2005-04-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java+technology%3A+The+early+years&amp;rft.aufirst=Jon&amp;rft.aulast=Byous&amp;rft.chron=c.+1998&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fjava.sun.com%2Ffeatures%2F1998%2F05%2Fbirthday.html&amp;rft.jtitle=Sun+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text">Object-oriented programming <cite class="citation web"><a rel="nofollow" class="external text" href="http://www.java.com/en/javahistory/">"The History of Java Technology"</a>. <i>Sun Developer Network</i>. c. 1995<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-04-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=The+History+of+Java+Technology&amp;rft.chron=c.+1995&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.java.com%2Fen%2Fjavahistory%2F&amp;rft.jtitle=Sun+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text">"<a rel="nofollow" class="external text" href="http://www.javaworld.com/jw-10-1996/jw-10-javaname.html">So why did they decide to call it Java?</a>", Kieron Murphy, JavaWorld.com, 10/04/96</span></li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text">Kabutz, Heinz; <a rel="nofollow" class="external text" href="http://www.artima.com/weblogs/viewpost.jsp?thread=7555"><i>Once Upon an Oak</i></a>. Artima. Retrieved April 29, 2007.</span></li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation book"><a rel="nofollow" class="external text" href="http://books.google.com/books?id=rXGMFYXFDwMC"><i>Object-oriented Programming with Java: Essentials and Applications</i></a>. Tata McGraw-Hill Education. p.&#160;34.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Object-oriented+Programming+with+Java%3A+Essentials+and+Applications&amp;rft.genre=book&amp;rft_id=http%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DrXGMFYXFDwMC&amp;rft.pages=34&amp;rft.pub=Tata+McGraw-Hill+Education&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.open-std.org/JTC1/SC22/JSG/">"JSG – Java Study Group"</a>. <i>open-std.org</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=JSG+%93+Java+Study+Group&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.open-std.org%2FJTC1%2FSC22%2FJSG%2F&amp;rft.jtitle=open-std.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://csdl2.computer.org/comp/proceedings/hicss/2001/0981/05/09815015.pdf">"Why Java™ Was – Not – Standardized Twice"</a> <span style="font-size:85%;">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Why+Java%84%A2+Was+%93+Not+%93+Standardized+Twice&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fcsdl2.computer.org%2Fcomp%2Fproceedings%2Fhicss%2F2001%2F0981%2F05%2F09815015.pdf&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.zdnet.com/news/what-is-ecma-and-why-microsoft-cares/298821">"What is ECMA—and why Microsoft cares"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=What+is+ECMA%94and+why+Microsoft+cares&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.zdnet.com%2Fnews%2Fwhat-is-ecma-and-why-microsoft-cares%2F298821&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.jcp.org/en/home/index">"Java Community Process website"</a>. Jcp.org. 2010-05-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Java+Community+Process+website&amp;rft.date=2010-05-24&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.jcp.org%2Fen%2Fhome%2Findex&amp;rft.pub=Jcp.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://grnlight.net/index.php/programming-articles/115-javaone-sun-the-bulk-of-java-is-open-sourced">"JAVAONE: Sun – The bulk of Java is open sourced"</a>. GrnLight.net<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-05-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=JAVAONE%3A+Sun+%93+The+bulk+of+Java+is+open+sourced&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fgrnlight.net%2Findex.php%2Fprogramming-articles%2F115-javaone-sun-the-bulk-of-java-is-open-sourced&amp;rft.pub=GrnLight.net&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://onjava.com/pub/a/onjava/2002/04/17/evangelism.html">"Sun's Evolving Role as Java Evangelist"</a>. <a href="/wiki/O%27Reilly_Media" title="O'Reilly Media">O'Reilly Media</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Sun%27s+Evolving+Role+as+Java+Evangelist&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fonjava.com%2Fpub%2Fa%2Fonjava%2F2002%2F04%2F17%2Fevangelism.html&amp;rft.pub=O%27Reilly+Media&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/us/technologies/java/index.html">"Oracle and Java"</a>. <i>oracle.com</i>. Oracle Corporation<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-08-23</span></span>. <q>Oracle has been a leading and substantive supporter of Java since its emergence in 1995 and takes on the new role as steward of Java technology with a relentless commitment to fostering a community of participation and transparency.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Oracle+and+Java&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Fus%2Ftechnologies%2Fjava%2Findex.html&amp;rft.jtitle=oracle.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.java.com/en/about/">"Learn About Java Technology"</a>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">21 November</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Learn+About+Java+Technology&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.java.com%2Fen%2Fabout%2F&amp;rft.pub=Oracle&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite class="citation web"><a href="/wiki/James_Gosling" title="James Gosling">Gosling, James</a> (April 9, 2010). <a rel="nofollow" class="external text" href="http://nighthacks.com/roller/jag/entry/time_to_move_on">"Time to move on..."</a>. <i>On a New Road</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-11-16</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Time+to+move+on...&amp;rft.aufirst=James&amp;rft.aulast=Gosling&amp;rft.date=2010-04-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fnighthacks.com%2Froller%2Fjag%2Fentry%2Ftime_to_move_on&amp;rft.jtitle=On+a+New+Road&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.programmerinterview.com/index.php/java-questions/jvm-platform-dependent/">"Is the JVM (Java Virtual Machine) platform dependent or platform independent? What is the advantage of using the JVM, and having Java be a translated language?"</a>. Programmer Interview<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-01-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Is+the+JVM+%28Java+Virtual+Machine%29+platform+dependent+or+platform+independent%3F+What+is+the+advantage+of+using+the+JVM%2C+and+having+Java+be+a+translated+language%3F&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.programmerinterview.com%2Findex.php%2Fjava-questions%2Fjvm-platform-dependent%2F&amp;rft.pub=Programmer+Interview&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation news">Niccolai, James (January 23, 2001). <a rel="nofollow" class="external text" href="http://www.javaworld.com/javaworld/jw-01-2001/jw-0124-iw-mssuncourt.html">"Sun, Microsoft settle Java lawsuit"</a>. <i>JavaWorld</i> (<a href="/wiki/International_Data_Group" title="International Data Group">International Data Group</a>)<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-07-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Sun%2C+Microsoft+settle+Java+lawsuit&amp;rft.au=Niccolai%2C+James&amp;rft.date=2001-01-23&amp;rft.genre=article&amp;rft_id=http%3A%2F%2Fwww.javaworld.com%2Fjavaworld%2Fjw-01-2001%2Fjw-0124-iw-mssuncourt.html&amp;rft.jtitle=JavaWorld&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web">Jelovic, Dejan. <a rel="nofollow" class="external text" href="http://www.jelovic.com/articles/why_java_is_slow.htm">"Why Java will always be slower than C++"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2008-02-15</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Dejan&amp;rft.aulast=Jelovic&amp;rft.btitle=Why+Java+will+always+be+slower+than+C%2B%2B&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.jelovic.com%2Farticles%2Fwhy_java_is_slow.htm&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite class="citation web">Google. <a rel="nofollow" class="external text" href="https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf">"Loop Recognition in C++/Java/Go/Scala"</a> <span style="font-size:85%;">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-07-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Google&amp;rft.btitle=Loop+Recognition+in+C%2B%2B%2FJava%2FGo%2FScala&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdays2011.scala-lang.org%2Fsites%2Fdays2011%2Ffiles%2Fws3-1-Hundt.pdf&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.symantec.com/about/news/release/article.jsp?prid=19970407_03">"Symantec's Just-In-Time Java Compiler To Be Integrated into Sun JDK 1.1"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Symantec%27s+Just-In-Time+Java+Compiler+To+Be+Integrated+into+Sun+JDK+1.1&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.symantec.com%2Fabout%2Fnews%2Frelease%2Farticle.jsp%3Fprid%3D19970407_03&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html">"NullPointerException"</a>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-05-06</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=NullPointerException&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Fapi%2Fjava%2Flang%2FNullPointerException.html&amp;rft.pub=Oracle&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.artima.com/designtechniques/exceptions.html">"Exceptions in Java"</a>. Artima.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-08-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Exceptions+in+Java&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.artima.com%2Fdesigntechniques%2Fexceptions.html&amp;rft.pub=Artima.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html">"Java HotSpot VM Options"</a>. Oracle.com. 2010-09-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-06-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Java+HotSpot+VM+Options&amp;rft.date=2010-09-07&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Ftech%2Fvmoptions-jsp-140102.html&amp;rft.pub=Oracle.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-msdn_operator_overloading-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-msdn_operator_overloading_42-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/ms228498%28v=vs.90%29.aspx">"Operator Overloading (C# vs Java)"</a>. <i>C# for Java Developers</i>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">10 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Operator+Overloading+%28C%23+vs+Java%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fms228498%2528v%3Dvs.90%2529.aspx&amp;rft.jtitle=C%23+for+Java+Developers&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-oracle_multiple_inheritance-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-oracle_multiple_inheritance_43-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html">"Multiple Inheritance of State, Implementation, and Type"</a>. <i>The Java™ Tutorials</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">10 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Multiple+Inheritance+of+State%2C+Implementation%2C+and+Type&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdocs.oracle.com%2Fjavase%2Ftutorial%2Fjava%2FIandI%2Fmultipleinheritance.html&amp;rft.jtitle=The+Java%84%A2+Tutorials&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://download.oracle.com/javase/tutorial/getStarted/application/index.html">"Lesson: A Closer Look at the "Hello World!" Application"</a>. <i>The Java™ Tutorials &gt; Getting Started</i>. <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-04-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Lesson%3A+A+Closer+Look+at+the+%22Hello+World%21%22+Application&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdownload.oracle.com%2Fjavase%2Ftutorial%2FgetStarted%2Fapplication%2Findex.html&amp;rft.jtitle=The+Java%84%A2+Tutorials+%3E+Getting+Started&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://download.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/using_tags.html">"Using applet, object and embed Tags"</a>. oracle.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Using+applet%2C+object+and+embed+Tags&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdownload.oracle.com%2Fjavase%2F1.5.0%2Fdocs%2Fguide%2Fplugin%2Fdeveloper_guide%2Fusing_tags.html&amp;rft.pub=oracle.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://download.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/using_tags.html#mixed">"Deploying Applets in a Mixed-Browser Environment"</a>. oracle.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Deploying+Applets+in+a+Mixed-Browser+Environment&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdownload.oracle.com%2Fjavase%2F1.5.0%2Fdocs%2Fguide%2Fplugin%2Fdeveloper_guide%2Fusing_tags.html%23mixed&amp;rft.pub=oracle.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><cite class="citation web">Arnold, Ken. <a rel="nofollow" class="external text" href="http://weblogs.java.net/blog/arnold/archive/2005/06/generics_consid_1.html">"Generics Considered Harmful"</a>. java.net<span class="reference-accessdate">. Retrieved <span class="nowrap">4 July</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Ken&amp;rft.aulast=Arnold&amp;rft.btitle=Generics+Considered+Harmful&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fweblogs.java.net%2Fblog%2Farnold%2Farchive%2F2005%2F06%2Fgenerics_consid_1.html&amp;rft.pub=java.net&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web">Jelovic, Dejan. <a rel="nofollow" class="external text" href="http://www.jelovic.com/articles/why_java_is_slow.htm">"Why Java Will Always Be Slower than C++"</a>. www.jelovic.com<span class="reference-accessdate">. Retrieved <span class="nowrap">17 October</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Dejan&amp;rft.aulast=Jelovic&amp;rft.btitle=Why+Java+Will+Always+Be+Slower+than+C%2B%2B&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.jelovic.com%2Farticles%2Fwhy_java_is_slow.htm&amp;rft.pub=www.jelovic.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web">Owens, Sean R. <a rel="nofollow" class="external text" href="http://web.archive.org/web/20090220171410/http://darksleep.com/player/JavaAndUnsignedTypes.html">"Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)"</a>. Archived from <a rel="nofollow" class="external text" href="http://darksleep.com/player/JavaAndUnsignedTypes.html">the original</a> on 2004-11-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-07-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Sean+R.&amp;rft.aulast=Owens&amp;rft.btitle=Java+and+unsigned+int%2C+unsigned+short%2C+unsigned+byte%2C+unsigned+long%2C+etc.+%28Or+rather%2C+the+lack+thereof%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdarksleep.com%2Fplayer%2FJavaAndUnsignedTypes.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><cite class="citation web">Kahan, William. <a rel="nofollow" class="external text" href="http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf">"How Java's Floating-Point Hurts Everyone Everywhere"</a> <span style="font-size:85%;">(PDF)</span>. Electrical Engineering &amp; Computer Science, University of California at Berkeley<span class="reference-accessdate">. Retrieved <span class="nowrap">4 June</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=William&amp;rft.aulast=Kahan&amp;rft.btitle=How+Java%27s+Floating-Point+Hurts+Everyone+Everywhere&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.cs.berkeley.edu%2F~wkahan%2FJAVAhurt.pdf&amp;rft.pub=Electrical+Engineering+%26+Computer+Science%2C+University+of+California+at+Berkeley&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://blogs.technet.com/b/mmpc/archive/2010/10/18/have-you-checked-the-java.aspx">"Have you checked the Java?"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=Have+you+checked+the+Java%3F&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fblogs.technet.com%2Fb%2Fmmpc%2Farchive%2F2010%2F10%2F18%2Fhave-you-checked-the-java.aspx&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><cite class="citation web">Mullin, Joe. <a rel="nofollow" class="external text" href="http://arstechnica.com/tech-policy/news/2012/05/jury-rules-google-violated-copyright-law-google-moves-for-mistrial.ars">"Google guilty of infringement in Oracle trial; future legal headaches loom"</a>. <i>Law &amp; Disorder</i>. Ars Technica<span class="reference-accessdate">. Retrieved <span class="nowrap">8 May</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Google+guilty+of+infringement+in+Oracle+trial%3B+future+legal+headaches+loom&amp;rft.aufirst=Joe&amp;rft.aulast=Mullin&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Farstechnica.com%2Ftech-policy%2Fnews%2F2012%2F05%2Fjury-rules-google-violated-copyright-law-google-moves-for-mistrial.ars&amp;rft.jtitle=Law+%26+Disorder&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><cite class="citation web">Joe Mullin (May 31, 2012). <a rel="nofollow" class="external text" href="http://arstechnica.com/tech-policy/2012/05/google-wins-crucial-api-ruling-oracles-case-decimated/">"Google wins crucial API ruling, Oracle's case decimated"</a>. <i>Ars Technica</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-06-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Google+wins+crucial+API+ruling%2C+Oracle%27s+case+decimated&amp;rft.au=Joe+Mullin&amp;rft.date=2012-05-31&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Farstechnica.com%2Ftech-policy%2F2012%2F05%2Fgoogle-wins-crucial-api-ruling-oracles-case-decimated%2F&amp;rft.jtitle=Ars+Technica&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF">http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF</a></span></li>
<li id="cite_note-cnet_appeals-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-cnet_appeals_55-0">^</a></b></span> <span class="reference-text"><cite class="citation news">Rosenblatt, Seth (May 9, 2014). <a rel="nofollow" class="external text" href="http://www.cnet.com/news/court-sides-with-oracle-over-android-in-java-patent-appeal/">"Court sides with Oracle over Android in Java patent appeal"</a>. <i>CNET</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Court+sides+with+Oracle+over+Android+in+Java+patent+appeal&amp;rft.au=Rosenblatt%2C+Seth&amp;rft.date=2014-05-09&amp;rft.genre=article&amp;rft_id=http%3A%2F%2Fwww.cnet.com%2Fnews%2Fcourt-sides-with-oracle-over-android-in-java-patent-appeal%2F&amp;rft.jtitle=CNET&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-cafc_13-1021-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-cafc_13-1021_56-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF">"ORACLE AMERICA, INC., Plaintiff – Appellant, v. GOOGLE INC., Defendant – Cross – Appellant."</a> <span style="font-size:85%;">(PDF)</span>. Court of Appeals for the Federal Circuit. May 9, 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.btitle=ORACLE+AMERICA%2C+INC.%2C+Plaintiff+%93+Appellant%2C+v.+GOOGLE+INC.%2C+Defendant+%93+Cross+%93+Appellant.&amp;rft.date=2014-05-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.cafc.uscourts.gov%2Fimages%2Fstories%2Fopinions-orders%2F13-1021.Opinion.5-7-2014.1.PDF&amp;rft.pub=Court+of+Appeals+for+the+Federal+Circuit&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-collections-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-collections_57-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html">"Collections Framework Overview"</a>. <i>Java Documentation</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Collections+Framework+Overview&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Fguides%2Fcollections%2Foverview.html&amp;rft.jtitle=Java+Documentation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-security-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-security_58-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/overview/jsoverview.html">"Java™ Security Overview"</a>. <i>Java Documentation</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java%84%A2+Security+Overview&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Fguides%2Fsecurity%2Foverview%2Fjsoverview.html&amp;rft.jtitle=Java+Documentation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-i18n-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-i18n_59-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/tutorial/i18n/">"Trail: Internationalization"</a>. <i>The Java™ Tutorials</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Trail%3A+Internationalization&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2Ftutorial%2Fi18n%2F&amp;rft.jtitle=The+Java%84%A2+Tutorials&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-javadoc_comments-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-javadoc_comments_60-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/articles/java/index-137868.html">"How to Write Doc Comments for the Javadoc Tool"</a>. <i>Oracle Technology Network</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=How+to+Write+Doc+Comments+for+the+Javadoc+Tool&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Farticles%2Fjava%2Findex-137868.html&amp;rft.jtitle=Oracle+Technology+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-java_card-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-java_card_61-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html">"Java Card Overview"</a>. <i>Oracle Technology Network</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java+Card+Overview&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fembedded%2Fjavacard%2Foverview%2Findex.html&amp;rft.jtitle=Oracle+Technology+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-java_me-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-java_me_62-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/embedded/javame/index.html">"Java Platform, Micro Edition (Java ME)"</a>. <i>Oracle Technology Network</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java+Platform%2C+Micro+Edition+%28Java+ME%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fembedded%2Fjavame%2Findex.html&amp;rft.jtitle=Oracle+Technology+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-java_se-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-java_se_63-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/javase/overview/index.html">"Java SE"</a>. <i>Oracle Technology Network</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java+SE&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Foverview%2Findex.html&amp;rft.jtitle=Oracle+Technology+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
<li id="cite_note-java_ee-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-java_ee_64-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/javaee/overview/index.html">"Java Platform, Enterprise Edition (Java EE)"</a>. <i>Oracle Technology Network</i>. Oracle<span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.atitle=Java+Platform%2C+Enterprise+Edition+%28Java+EE%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavaee%2Foverview%2Findex.html&amp;rft.jtitle=Oracle+Technology+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&#160;</span></span></span></li>
</ol>
</div>
<h2><span class="mw-headline" id="References">References</span></h2>
<div class="refbegin" style="">
<ul>
<li><cite id="CITEREFGoslingJoySteeleBracha2014" class="citation book">Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad; Buckley, Alex (2014). <a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf"><i>The Java® Language Specification</i></a> <span style="font-size:85%;">(PDF)</span> (Java SE 8 ed.).</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Bracha%2C+Gilad&amp;rft.au=Buckley%2C+Alex&amp;rft.aufirst=James&amp;rft.au=Joy%2C+Bill&amp;rft.aulast=Gosling&amp;rft.au=Steele%2C+Guy&amp;rft.btitle=The+Java+%AE+Language+Specification&amp;rft.date=2014&amp;rft.edition=Java+SE+8&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Fdocs.oracle.com%2Fjavase%2Fspecs%2Fjls%2Fse8%2Fjls8.pdf&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></li>
<li><cite class="citation book">Gosling, James; <a href="/wiki/Bill_Joy" title="Bill Joy">Joy, Bill</a>; <a href="/wiki/Guy_L._Steele,_Jr." title="Guy L. Steele, Jr.">Steele, Guy L., Jr.</a>; <a href="/wiki/Gilad_Bracha" title="Gilad Bracha">Bracha, Gilad</a> (2005). <a rel="nofollow" class="external text" href="http://java.sun.com/docs/books/jls/index.html"><i>The Java Language Specification</i></a> (3rd ed.). Addison-Wesley. <a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-321-24678-0" title="Special:BookSources/0-321-24678-0">0-321-24678-0</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.au=Bracha%2C+Gilad&amp;rft.aufirst=James&amp;rft.au=Joy%2C+Bill&amp;rft.aulast=Gosling&amp;rft.au=Steele%2C+Guy+L.%2C+Jr.&amp;rft.btitle=The+Java+Language+Specification&amp;rft.date=2005&amp;rft.edition=3rd&amp;rft.genre=book&amp;rft_id=http%3A%2F%2Fjava.sun.com%2Fdocs%2Fbooks%2Fjls%2Findex.html&amp;rft.isbn=0-321-24678-0&amp;rft.pub=Addison-Wesley&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></li>
<li><cite class="citation book">Lindholm, Tim; Yellin, Frank (1999). <a rel="nofollow" class="external text" href="http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html"><i>The Java Virtual Machine Specification</i></a> (2nd ed.). Addison-Wesley. <a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-43294-3" title="Special:BookSources/0-201-43294-3">0-201-43294-3</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+%28programming+language%29&amp;rft.aufirst=Tim&amp;rft.aulast=Lindholm&amp;rft.au=Yellin%2C+Frank&amp;rft.btitle=The+Java+Virtual+Machine+Specification&amp;rft.date=1999&amp;rft.edition=2nd&amp;rft.genre=book&amp;rft_id=http%3A%2F%2Fjava.sun.com%2Fdocs%2Fbooks%2Fvmspec%2F2nd-edition%2Fhtml%2FVMSpecTOC.doc.html&amp;rft.isbn=0-201-43294-3&amp;rft.pub=Addison-Wesley&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&#160;</span></span></li>
</ul>
</div>
<h2><span class="mw-headline" id="External_links">External links</span></h2>
<table class="metadata plainlinks mbox-small" style="padding:0.25em 0.5em 0.5em 0.75em;border:1px solid #aaa;background:#f9f9f9;">
<tr>
<td colspan="2" style="padding-bottom:0.75em;border-bottom:1px solid #aaa;text-align:center;">
<div style="clear:both;">Find more about<br />
<b>Java (programming language)</b><br />
at Wikipedia's <a href="/wiki/Wikipedia:Wikimedia_sister_projects" title="Wikipedia:Wikimedia sister projects">sister projects</a></div>
</td>
</tr>
<tr style="height:25px;">
<td style="padding-top:0.75em;"><a href="//en.wiktionary.org/wiki/Java" title="Search Wiktionary"><img alt="Search Wiktionary" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Wiktionary-logo-en.svg/23px-Wiktionary-logo-en.svg.png" width="23" height="25" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Wiktionary-logo-en.svg/35px-Wiktionary-logo-en.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Wiktionary-logo-en.svg/46px-Wiktionary-logo-en.svg.png 2x" data-file-width="1000" data-file-height="1089" /></a></td>
<td style="padding-top:0.75em;"><a href="//en.wiktionary.org/wiki/Java" class="extiw" title="wikt:Java">Definitions</a> from Wiktionary</td>
</tr>
<tr style="height:25px;">
<td><a href="//commons.wikimedia.org/wiki/Category:Java_(programming_language)" title="Search Commons"><img alt="Search Commons" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png" width="18" height="25" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/28px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/37px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></td>
<td><a href="//commons.wikimedia.org/wiki/Category:Java_(programming_language)" class="extiw" title="c:Category:Java (programming language)">Media</a> from Commons</td>
</tr>
<tr style="height:25px;">
<td><a href="//en.wikinews.org/wiki/Special:Search/Java_(programming_language)" title="Search Wikinews"><img alt="Search Wikinews" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/25px-Wikinews-logo.svg.png" width="25" height="14" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/38px-Wikinews-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/50px-Wikinews-logo.svg.png 2x" data-file-width="759" data-file-height="415" /></a></td>
<td><a href="//en.wikinews.org/wiki/Special:Search/Java_(programming_language)" class="extiw" title="n:Special:Search/Java (programming language)">News stories</a> from Wikinews</td>
</tr>
<tr style="height:25px;">
<td><a href="//en.wikiquote.org/wiki/Special:Search/Java_(programming_language)" title="Search Wikiquote"><img alt="Search Wikiquote" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/21px-Wikiquote-logo.svg.png" width="21" height="25" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/32px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/42px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></a></td>
<td><a href="//en.wikiquote.org/wiki/Special:Search/Java_(programming_language)" class="extiw" title="q:Special:Search/Java (programming language)">Quotations</a> from Wikiquote</td>
</tr>
<tr style="height:25px;">
<td><a href="//en.wikibooks.org/wiki/Subject:Java_programming_language" title="Search Wikibooks"><img alt="Search Wikibooks" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/25px-Wikibooks-logo.svg.png" width="25" height="25" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/38px-Wikibooks-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/50px-Wikibooks-logo.svg.png 2x" data-file-width="300" data-file-height="300" /></a></td>
<td><a href="//en.wikibooks.org/wiki/Subject:Java_programming_language" class="extiw" title="b:Subject:Java programming language">Textbooks</a> from Wikibooks</td>
</tr>
<tr style="height:25px;">
<td><a href="//en.wikiversity.org/wiki/Java" title="Search Wikiversity"><img alt="Search Wikiversity" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Wikiversity-logo-en.svg/25px-Wikiversity-logo-en.svg.png" width="25" height="23" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Wikiversity-logo-en.svg/38px-Wikiversity-logo-en.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Wikiversity-logo-en.svg/50px-Wikiversity-logo-en.svg.png 2x" data-file-width="1000" data-file-height="900" /></a></td>
<td><a href="//en.wikiversity.org/wiki/Java" class="extiw" title="v:Java">Learning resources</a> from Wikiversity</td>
</tr>
</table>
<table class="mbox-small plainlinks sistersitebox" style="border:1px solid #aaa;background-color:#f9f9f9">
<tr>
<td class="mbox-image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/40px-Wikiversity-logo.svg.png" width="40" height="32" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/60px-Wikiversity-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/80px-Wikiversity-logo.svg.png 2x" data-file-width="1000" data-file-height="800" /></td>
<td class="mbox-text plainlist">Wikiversity has learning materials about <i><b><a href="//en.wikiversity.org/wiki/Java_Platform,_Enterprise_Edition/Java_EE_Tutorial" class="extiw" title="v:Java Platform, Enterprise Edition/Java EE Tutorial">Java Platform, Enterprise Edition/Java EE Tutorial</a></b></i></td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="col" class="navbox-title" colspan="3">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Java_(software_platform)" title="Template:Java (software platform)"><abbr title="View this template" style=";;background:none transparent;border:none;">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Java_(software_platform)" title="Template talk:Java (software platform)"><abbr title="Discuss this template" style=";;background:none transparent;border:none;">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Java_(software_platform)&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;">e</abbr></a></li>
</ul>
</div>
<div style="font-size:114%"><a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a></div>
</th>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Java platforms</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><strong class="selflink">Java language</strong></li>
<li><a href="/wiki/Java_virtual_machine" title="Java virtual machine">JVM</a></li>
<li><a href="/wiki/Java_Platform,_Micro_Edition" title="Java Platform, Micro Edition">Micro Edition</a></li>
<li><a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Standard Edition</a></li>
<li><a href="/wiki/Java_Platform,_Enterprise_Edition" title="Java Platform, Enterprise Edition">Enterprise Edition</a></li>
<li><a href="/wiki/Java_Card" title="Java Card">Java Card</a></li>
<li><a href="/wiki/Android_software_development#SDK" title="Android software development">Android SDK</a></li>
</ul>
</div>
</td>
<td class="navbox-image" rowspan="13" style="width:0%;padding:0px 0px 0px 2px">
<div><a href="/wiki/File:Wave.svg" class="image"><img alt="Wave.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/75px-Wave.svg.png" width="75" height="135" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/113px-Wave.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/150px-Wave.svg.png 2x" data-file-width="226" data-file-height="407" /></a></div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Oracle technologies</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Squawk_virtual_machine" title="Squawk virtual machine">Squawk</a></li>
<li><a href="/wiki/Java_Development_Kit" title="Java Development Kit">Java Development Kit</a></li>
<li><a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a></li>
<li><a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a></li>
<li><a href="/wiki/JavaFX" title="JavaFX">JavaFX</a></li>
<li><a href="/wiki/Maxine_Virtual_Machine" title="Maxine Virtual Machine">Maxine VM</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Platform technologies</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Java_applet" title="Java applet">Applets</a></li>
<li><a href="/wiki/Java_servlet" title="Java servlet">Servlets</a></li>
<li><a href="/wiki/MIDlet" title="MIDlet">MIDlets</a></li>
<li><a href="/wiki/JavaServer_Pages" title="JavaServer Pages">JSP</a></li>
<li><a href="/wiki/Java_Web_Start" title="Java Web Start">Web Start (JNLP)</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Major third-party technologies</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Eclipse_(software)" title="Eclipse (software)">Eclipse</a></li>
<li><a href="/wiki/GNU_Classpath" title="GNU Classpath">GNU Classpath</a></li>
<li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">GWT</a></li>
<li><a href="/wiki/Apache_Harmony" title="Apache Harmony">Harmony</a></li>
<li><a href="/wiki/Hibernate_(Java)" title="Hibernate (Java)" class="mw-redirect">Hibernate</a></li>
<li><a href="/wiki/IcedTea" title="IcedTea">IcedTea</a></li>
<li><a href="/wiki/Jazelle" title="Jazelle">Jazelle</a></li>
<li><a href="/wiki/Spring_Framework" title="Spring Framework">Spring</a></li>
<li><a href="/wiki/Apache_Struts" title="Apache Struts">Struts</a></li>
<li><a href="/wiki/TopLink" title="TopLink">TopLink</a></li>
<li><a href="/wiki/WildFly" title="WildFly">WildFly</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">History</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Java_version_history" title="Java version history">Java version history</a></li>
<li><a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a></li>
<li><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></li>
<li><a href="/wiki/Free_Java_implementations" title="Free Java implementations">Free Java implementations</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Major programming languages</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/BeanShell" title="BeanShell">BeanShell</a></li>
<li><a href="/wiki/Clojure" title="Clojure">Clojure</a></li>
<li><a href="/wiki/Groovy_(programming_language)" title="Groovy (programming language)">Groovy</a></li>
<li><a href="/wiki/Oxygene_(programming_language)" title="Oxygene (programming language)">Oxygene</a></li>
<li><a href="/wiki/Tcl/Java" title="Tcl/Java">Java Tcl</a></li>
<li><a href="/wiki/JRuby" title="JRuby">JRuby</a></li>
<li><a href="/wiki/Jython" title="Jython">Jython</a></li>
<li><a href="/wiki/Processing_(programming_language)" title="Processing (programming language)">Processing</a></li>
<li><a href="/wiki/Rhino_(JavaScript_engine)" title="Rhino (JavaScript engine)">Rhino</a></li>
<li><a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a></li>
<li><a href="/wiki/List_of_JVM_languages" title="List of JVM languages">more…</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Java conferences</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/JavaOne" title="JavaOne">JavaOne</a></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Sun_Microsystems" title="Template:Sun Microsystems"><abbr title="View this template" style=";;background:none transparent;border:none;">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Sun_Microsystems" title="Template talk:Sun Microsystems"><abbr title="Discuss this template" style=";;background:none transparent;border:none;">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Sun_Microsystems&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;">e</abbr></a></li>
</ul>
</div>
<div style="font-size:114%"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> <small style="font-size:85%;">(<a href="/wiki/Sun_acquisition_by_Oracle" title="Sun acquisition by Oracle">acquired</a> by <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corp</a>, 2010)</small></div>
</th>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">People</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Bill_Joy" title="Bill Joy">Bill Joy</a></li>
<li><a href="/wiki/Andy_Bechtolsheim" title="Andy Bechtolsheim">Andy Bechtolsheim</a></li>
<li><a href="/wiki/Scott_McNealy" title="Scott McNealy">Scott McNealy</a></li>
<li><a href="/wiki/Vinod_Khosla" title="Vinod Khosla">Vinod Khosla</a></li>
<li><a href="/wiki/List_of_Sun_Microsystems_employees" title="List of Sun Microsystems employees">List of notable employees</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Hardware</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Sun-1" title="Sun-1">Sun-1</a></li>
<li><a href="/wiki/Sun-2" title="Sun-2">Sun-2</a></li>
<li><a href="/wiki/Sun-3" title="Sun-3">Sun-3</a></li>
<li><a href="/wiki/Sun386i" title="Sun386i">Sun386i</a></li>
<li><a href="/wiki/Sun-4" title="Sun-4">Sun-4</a></li>
<li><a href="/wiki/SPARCstation" title="SPARCstation">SPARCstation</a></li>
<li><a href="/wiki/Sun_Netra" title="Sun Netra">Netra</a></li>
<li><a href="/wiki/Sun_Ultra_series" title="Sun Ultra series">Ultra</a></li>
<li><a href="/wiki/Sun_Enterprise" title="Sun Enterprise">Enterprise</a></li>
<li><a href="/wiki/Sun_Blade" title="Sun Blade">Sun Blade</a></li>
<li><a href="/wiki/Sun_Fire" title="Sun Fire">Sun Fire</a></li>
<li><a href="/wiki/SPARC_Enterprise" title="SPARC Enterprise">SPARC Enterprise</a></li>
<li><a href="/wiki/SPARC" title="SPARC">SPARC</a></li>
<li><a href="/wiki/JavaStation" title="JavaStation">JavaStation</a></li>
<li><a href="/wiki/Sun_Ray" title="Sun Ray">Sun Ray</a></li>
<li><a href="/wiki/Sun_Modular_Datacenter" title="Sun Modular Datacenter">Sun Modular Datacenter</a></li>
<li><a href="/wiki/Category:Sun_Microsystems_hardware" title="Category:Sun Microsystems hardware"><i>more...</i></a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Software</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/SunOS" title="SunOS">SunOS</a></li>
<li><a href="/wiki/Solaris_(operating_system)" title="Solaris (operating system)">Solaris</a></li>
<li><a href="/wiki/Network_Information_Service" title="Network Information Service">NIS</a> (<a href="/wiki/NIS%2B" title="NIS+">+</a>)</li>
<li><a href="/wiki/Network_File_System" title="Network File System">NFS</a></li>
<li><a href="/wiki/ZFS" title="ZFS">ZFS</a></li>
<li><a href="/wiki/SunView" title="SunView">SunView</a></li>
<li><a href="/wiki/NeWS" title="NeWS">NeWS</a></li>
<li><a href="/wiki/OpenWindows" title="OpenWindows">OpenWindows</a></li>
<li><a href="/wiki/Java_Desktop_System" title="Java Desktop System">Java Desktop System</a></li>
<li><a href="/wiki/Oracle_Solaris_Studio" title="Oracle Solaris Studio">Sun Studio</a></li>
<li><a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a></li>
<li><a href="/wiki/StarOffice" title="StarOffice">StarOffice</a></li>
<li><a href="/wiki/IPlanet" title="IPlanet">iPlanet</a>/<a href="/wiki/Sun_ONE" title="Sun ONE">Sun ONE</a>/<a href="/wiki/Sun_Java_System" title="Sun Java System">Java Enterprise System</a></li>
<li><a href="/wiki/Oracle_Secure_Global_Desktop" title="Oracle Secure Global Desktop">Sun Secure Global Desktop</a></li>
<li><a href="/wiki/MySQL" title="MySQL">MySQL</a></li>
<li><a href="/wiki/Sun_xVM" title="Sun xVM">Sun xVM</a></li>
<li><a href="/wiki/GlassFish" title="GlassFish">GlassFish</a></li>
<li><a href="/wiki/Category:Sun_Microsystems_software" title="Category:Sun Microsystems software"><i>more...</i></a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Storage</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Storage_Technology_Corporation" title="Storage Technology Corporation">StorageTek</a></li>
<li><a href="/wiki/Sun_Open_Storage" title="Sun Open Storage">Sun Open Storage</a></li>
<li><a href="/wiki/QFS" title="QFS">QFS</a></li>
<li><a href="/wiki/ZFS" title="ZFS">ZFS</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">High-performance computing</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Sun_Cloud" title="Sun Cloud">Sun Cloud</a></li>
<li><a href="/wiki/Sun_Constellation_System" title="Sun Constellation System">Sun Constellation System</a></li>
<li><a href="/wiki/Sun_Visualization_System" title="Sun Visualization System">Sun Visualization System</a></li>
<li><a href="/wiki/Oracle_Grid_Engine" title="Oracle Grid Engine">Sun Grid Engine</a></li>
<li><a href="/wiki/Lustre_(file_system)" title="Lustre (file system)">Lustre</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Research</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Sun_Microsystems_Laboratories" title="Sun Microsystems Laboratories">Sun Labs</a></li>
<li><a href="/wiki/PicoJava" title="PicoJava">picoJava</a></li>
<li><a href="/wiki/Fortress_(programming_language)" title="Fortress (programming language)">Fortress</a></li>
<li><a href="/wiki/Project_Looking_Glass" title="Project Looking Glass">Project Looking Glass</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Education</th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Certification_Program" title="Oracle Certification Program">SCPs</a></li>
<li><a href="/wiki/BlueJ" title="BlueJ">BlueJ</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Community</th>
<td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Common_Development_and_Distribution_License" title="Common Development and Distribution License">Common Development and Distribution License</a></li>
<li><a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a></li>
<li><a href="/wiki/NetBeans" title="NetBeans">NetBeans</a></li>
<li><a href="/wiki/OpenOffice.org" title="OpenOffice.org">OpenOffice.org</a></li>
<li><a href="/wiki/OpenSolaris" title="OpenSolaris">OpenSolaris</a></li>
<li><a href="/wiki/OpenSPARC" title="OpenSPARC">OpenSPARC</a></li>
<li><a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a></li>
<li><a href="/wiki/Open_Source_University_Meetup" title="Open Source University Meetup">OSUM</a></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks hlist collapsible collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Oracle" title="Template:Oracle"><abbr title="View this template" style=";;background:none transparent;border:none;">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Oracle" title="Template talk:Oracle"><abbr title="Discuss this template" style=";;background:none transparent;border:none;">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Oracle&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;">e</abbr></a></li>
</ul>
</div>
<div style="font-size:114%"><a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a></div>
</th>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Corporation" title="Corporation">Corporate</a> <a href="/wiki/Board_of_directors" title="Board of directors">directors</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/w/index.php?title=Jeffrey_Berg&amp;action=edit&amp;redlink=1" class="new" title="Jeffrey Berg (page does not exist)">Jeffrey Berg</a></li>
<li><a href="/w/index.php?title=H._Raymond_Bingham&amp;action=edit&amp;redlink=1" class="new" title="H. Raymond Bingham (page does not exist)">H. Raymond Bingham</a></li>
<li><a href="/wiki/Michael_Boskin" title="Michael Boskin">Michael Boskin</a></li>
<li><a href="/wiki/Safra_A._Catz" title="Safra A. Catz">Safra A. Catz</a></li>
<li><a href="/wiki/Larry_Ellison" title="Larry Ellison">Larry Ellison</a></li>
<li><a href="/wiki/H%C3%A9ctor_Garc%C3%ADa-Molina" title="Héctor García-Molina">Héctor García-Molina</a></li>
<li><a href="/wiki/Joseph_Grundfest" title="Joseph Grundfest">Joseph Grundfest</a></li>
<li><a href="/wiki/Jeffrey_O._Henley" title="Jeffrey O. Henley">Jeffrey O. Henley</a></li>
<li><a href="/wiki/Mark_Hurd" title="Mark Hurd">Mark Hurd</a></li>
<li><a href="/wiki/Jack_Kemp" title="Jack Kemp">Jack F. Kemp</a></li>
<li><a href="/w/index.php?title=Donald_L._Lucas&amp;action=edit&amp;redlink=1" class="new" title="Donald L. Lucas (page does not exist)">Donald L. Lucas</a></li>
<li><a href="/wiki/Naomi_O._Seligman" title="Naomi O. Seligman">Naomi O. Seligman</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Mergers_and_acquisitions" title="Mergers and acquisitions">Acquisitions</a> (<a href="/wiki/List_of_acquisitions_by_Oracle" title="List of acquisitions by Oracle">list</a>)</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun</a></li>
<li><a href="/wiki/PeopleSoft" title="PeopleSoft">PeopleSoft</a></li>
<li><a href="/wiki/Oracle_Hyperion" title="Oracle Hyperion">Hyperion</a></li>
<li><a href="/wiki/Siebel_Systems" title="Siebel Systems">Siebel</a></li>
<li><a href="/wiki/BEA_Systems" title="BEA Systems">BEA</a></li>
<li><a href="/wiki/JD_Edwards" title="JD Edwards">JD Edwards</a></li>
<li><a href="/wiki/RightNow_Technologies" title="RightNow Technologies">RightNow</a></li>
<li><a href="/wiki/Virtual_Iron" title="Virtual Iron">Virtual Iron</a></li>
<li><a href="/wiki/TimesTen" title="TimesTen">TimesTen</a></li>
<li><a href="/w/index.php?title=Retek&amp;action=edit&amp;redlink=1" class="new" title="Retek (page does not exist)">Retek</a></li>
<li><a href="/wiki/Sunopsis" title="Sunopsis">Sunopsis</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Database" title="Database">DBMS</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Database" title="Oracle Database">Oracle Database</a></li>
<li><a href="/wiki/MySQL" title="MySQL">MySQL</a></li>
<li><a href="/wiki/InnoDB" title="InnoDB">InnoDB</a></li>
<li><a href="/wiki/Berkeley_DB" title="Berkeley DB">Berkeley DB</a></li>
<li><a href="/wiki/TimesTen" title="TimesTen">TimesTen</a></li>
<li><a href="/wiki/Oracle_Rdb" title="Oracle Rdb">Rdb</a></li>
<li><a href="/wiki/Essbase" title="Essbase">Essbase</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Programming_language" title="Programming language">Programming languages</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><strong class="selflink">Java</strong></li>
<li><a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Integrated_development_environment" title="Integrated development environment">IDE</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/JDeveloper" title="JDeveloper">JDeveloper</a></li>
<li><a href="/wiki/Oracle_Forms" title="Oracle Forms">Forms</a></li>
<li><a href="/wiki/NetBeans" title="NetBeans">NetBeans</a></li>
<li><a href="/wiki/Oracle_Application_Express" title="Oracle Application Express">Apex</a></li>
<li><a href="/wiki/Oracle_SQL_Developer" title="Oracle SQL Developer">SQL Developer</a></li>
<li><a href="/wiki/Oracle_Solaris_Studio" title="Oracle Solaris Studio">Solaris Studio</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Middleware_(distributed_applications)" title="Middleware (distributed applications)">Middleware</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Fusion_Middleware" title="Oracle Fusion Middleware">Fusion Middleware</a></li>
<li><a href="/wiki/Oracle_WebCenter" title="Oracle WebCenter">WebCenter</a></li>
<li><a href="/wiki/Oracle_SOA_Suite" title="Oracle SOA Suite">SOA Suite</a></li>
<li><a href="/wiki/Oracle_WebLogic_Server" title="Oracle WebLogic Server">WebLogic Server</a></li>
<li><a href="/wiki/Oracle_Coherence" title="Oracle Coherence">Coherence</a></li>
<li><a href="/wiki/Tuxedo_(software)" title="Tuxedo (software)">Tuxedo</a></li>
<li><a href="/wiki/GlassFish" title="GlassFish">GlassFish</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Operating_system" title="Operating system">Operating systems</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Linux" title="Oracle Linux">Oracle Linux</a></li>
<li><a href="/wiki/Solaris_(operating_system)" title="Solaris (operating system)">Oracle Solaris</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Computer_hardware" title="Computer hardware">Computer hardware</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Sun_Fire" title="Sun Fire">Sun Fire</a></li>
<li><a href="/wiki/SPARC" title="SPARC">SPARC</a> (<a href="/wiki/SPARC_T-Series" title="SPARC T-Series">T-Series</a>, <a href="/wiki/SPARC_Enterprise" title="SPARC Enterprise">Enterprise</a>)</li>
<li><a href="/wiki/Storage_Technology_Corporation" title="Storage Technology Corporation">StorageTek</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Computer_appliance" title="Computer appliance">Computer appliances</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Exadata" title="Oracle Exadata">Oracle Exadata</a></li>
<li><a href="/wiki/Oracle_Exalogic" title="Oracle Exalogic">Oracle Exalogic</a></li>
<li><a href="/w/index.php?title=Oracle_Exalytics&amp;action=edit&amp;redlink=1" class="new" title="Oracle Exalytics (page does not exist)">Oracle Exalytics</a></li>
<li><a href="/wiki/Oracle_Big_Data_Appliance" title="Oracle Big Data Appliance">Big Data Appliance</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Education and recognition</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Oracle_Certification_Program" title="Oracle Certification Program">Oracle Certification Program</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<td class="navbox-abovebelow" colspan="2">
<div>
<ul>
<li><img alt="Category" src="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/16px-Folder_Hexagonal_Icon.svg.png" title="Category" width="16" height="14" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/24px-Folder_Hexagonal_Icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/32px-Folder_Hexagonal_Icon.svg.png 2x" data-file-width="36" data-file-height="31" /> <b><a href="/wiki/Category:Oracle_Corporation" title="Category:Oracle Corporation">Category</a></b></li>
<li><img alt="Commons page" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" title="Commons page" width="12" height="16" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /> <a href="//commons.wikimedia.org/wiki/Category:Oracle_Corporation" class="extiw" title="commons:Category:Oracle Corporation"><b>Commons</b></a></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks hlist collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Programming_languages" title="Template:Programming languages"><abbr title="View this template" style=";;background:none transparent;border:none;">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Programming_languages" title="Template talk:Programming languages"><abbr title="Discuss this template" style=";;background:none transparent;border:none;">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Programming_languages&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;">e</abbr></a></li>
</ul>
</div>
<div style="font-size:114%"><a href="/wiki/Programming_language" title="Programming language">Programming languages</a></div>
</th>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<td class="navbox-abovebelow" colspan="2">
<div>
<ul>
<li><a href="/wiki/Comparison_of_programming_languages" title="Comparison of programming languages">Comparison</a></li>
<li><a href="/wiki/Timeline_of_programming_languages" title="Timeline of programming languages">Timeline</a></li>
<li><a href="/wiki/History_of_programming_languages" title="History of programming languages">History</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Assembly_language" title="Assembly language">Assembly</a></li>
<li><a href="/wiki/Bash_(Unix_shell)" title="Bash (Unix shell)">Bash</a></li>
<li><a href="/wiki/BASIC" title="BASIC">BASIC</a></li>
<li><a href="/wiki/C_(programming_language)" title="C (programming language)">C</a></li>
<li><a href="/wiki/C%2B%2B" title="C++">C++</a></li>
<li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="/wiki/COBOL" title="COBOL">COBOL</a></li>
<li><a href="/wiki/Fortran" title="Fortran">Fortran</a></li>
<li><strong class="selflink">Java</strong></li>
<li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> (JS)</li>
<li><a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li>
<li><a href="/wiki/Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a></li>
<li><a href="/wiki/Perl" title="Perl">Perl</a></li>
<li><a href="/wiki/PHP" title="PHP">PHP</a></li>
<li><a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></li>
<li><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li>
<li><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></li>
<li><a href="/wiki/Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a> (VB.NET)</li>
<li><i><a href="/wiki/List_of_programming_languages" title="List of programming languages">more...</a></i></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<td class="navbox-abovebelow" colspan="2">
<div>
<ul>
<li><img alt="Category" src="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/16px-Folder_Hexagonal_Icon.svg.png" title="Category" width="16" height="14" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/24px-Folder_Hexagonal_Icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/32px-Folder_Hexagonal_Icon.svg.png 2x" data-file-width="36" data-file-height="31" /> <b><a href="/wiki/Category:Programming_languages" title="Category:Programming languages">Category</a></b></li>
<li><img alt="Non-article page" src="//upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/16px-Symbol_neutral_vote.svg.png" title="Non-article page" width="16" height="16" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/23px-Symbol_neutral_vote.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/31px-Symbol_neutral_vote.svg.png 2x" data-file-width="180" data-file-height="185" /> <b><a href="/wiki/Comparison_of_programming_languages" title="Comparison of programming languages">Comparison</a></b></li>
<li><img alt="List-Class article" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" title="List-Class article" width="16" height="16" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /> <b>Lists</b>
<ul>
<li><a href="/wiki/List_of_programming_languages" title="List of programming languages">Alphabetical</a></li>
<li><a href="/wiki/Categorical_list_of_programming_languages" title="Categorical list of programming languages" class="mw-redirect">Categorical</a></li>
<li><a href="/wiki/Generational_list_of_programming_languages" title="Generational list of programming languages">Generational</a></li>
<li><a href="/wiki/Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based</a></li>
</ul>
</li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks hlist collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:FOSS" title="Template:FOSS"><abbr title="View this template" style=";;background:none transparent;border:none;">v</abbr></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:FOSS" title="Template talk:FOSS"><abbr title="Discuss this template" style=";;background:none transparent;border:none;">t</abbr></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:FOSS&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;">e</abbr></a></li>
</ul>
</div>
<div style="font-size:114%"><a href="/wiki/Free_and_open-source_software" title="Free and open-source software">Free and open-source software</a></div>
</th>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">General</th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Alternative_terms_for_free_software" title="Alternative terms for free software">Alternative terms for free software</a></li>
<li><a href="/wiki/Comparison_of_open-source_and_closed-source_software" title="Comparison of open-source and closed-source software">Comparison of open-source and closed-source software</a></li>
<li><a href="/wiki/Comparison_of_source_code_hosting_facilities" title="Comparison of source code hosting facilities">Comparison of source code hosting facilities</a></li>
<li><a href="/wiki/Free_software" title="Free software">Free software</a></li>
<li><a href="/wiki/List_of_free_software_project_directories" title="List of free software project directories">Free software project directories</a></li>
<li><a href="/wiki/Gratis_versus_libre" title="Gratis versus libre">Gratis versus libre</a></li>
<li><a href="/wiki/Long-term_support" title="Long-term support">Long-term support</a></li>
<li><a href="/wiki/Open-source_software" title="Open-source software">Open-source software</a></li>
<li><a href="/wiki/Open-source_software_development" title="Open-source software development">Open-source software development</a></li>
<li><a href="/wiki/Outline_of_free_software" title="Outline of free software">Outline</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/List_of_free_and_open-source_software_packages" title="List of free and open-source software packages">Software<br />
packages</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Comparison_of_free_software_for_audio" title="Comparison of free software for audio">Audio</a></li>
<li><a href="/wiki/List_of_open-source_bioinformatics_software" title="List of open-source bioinformatics software">Bioinformatics</a></li>
<li><a href="/wiki/List_of_open-source_codecs" title="List of open-source codecs">Codecs</a></li>
<li><a href="/wiki/List_of_collaborative_software#Open_source_software" title="List of collaborative software">Collaboration</a></li>
<li><a href="/wiki/Comparison_of_open-source_configuration_management_software" title="Comparison of open-source configuration management software">Configuration management</a></li>
<li><a href="/wiki/Comparison_of_free_geophysics_software" title="Comparison of free geophysics software">Geophysics</a></li>
<li><a href="/wiki/List_of_open-source_health_software" title="List of open-source health software">Health</a></li>
<li><a href="/wiki/List_of_open-source_software_for_mathematics" title="List of open-source software for mathematics">Mathematics</a></li>
<li><a href="/wiki/Comparison_of_open-source_operating_systems" title="Comparison of open-source operating systems">Operating systems</a></li>
<li><a href="/wiki/Comparison_of_open-source_programming_language_licensing" title="Comparison of open-source programming language licensing">Programming languages</a></li>
<li><a href="/wiki/List_of_open-source_routing_platforms" title="List of open-source routing platforms">Routing</a></li>
<li><a href="/wiki/List_of_statistical_packages#Open-source_statistical_packages" title="List of statistical packages">Statistics</a></li>
<li><a href="/wiki/List_of_free_television_software" title="List of free television software">Television</a></li>
<li><a href="/wiki/List_of_open-source_video_games" title="List of open-source video games">Video games</a></li>
<li><a href="/wiki/List_of_free_software_web_applications" title="List of free software web applications">Web applications</a>
<ul>
<li><a href="/wiki/List_of_content_management_systems#Open_source_software" title="List of content management systems">Content management systems</a></li>
<li><a href="/wiki/Comparison_of_free_software_e-commerce_web_application_frameworks" title="Comparison of free software e-commerce web application frameworks" class="mw-redirect">E-commerce</a></li>
</ul>
</li>
<li><a href="/wiki/Comparison_of_open-source_wireless_drivers" title="Comparison of open-source wireless drivers">Wireless drivers</a></li>
<li><a href="/wiki/List_of_word_processors#Free_and_open-source_software" title="List of word processors">Word processors</a></li>
<li><a href="/wiki/List_of_free_and_open-source_Android_applications" title="List of free and open-source Android applications">Android apps</a></li>
<li><a href="/wiki/List_of_free_and_open-source_iOS_applications" title="List of free and open-source iOS applications">iOS apps</a></li>
<li><a href="/wiki/List_of_commercial_open-source_applications_and_services" title="List of commercial open-source applications and services">Commercial</a></li>
<li><a href="/wiki/List_of_trademarked_open-source_software" title="List of trademarked open-source software">Trademarked</a></li>
<li><a href="/wiki/List_of_formerly_proprietary_software" title="List of formerly proprietary software">Formerly proprietary</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/History_of_free_and_open-source_software" title="History of free and open-source software">History</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Berkeley_Software_Distribution#History" title="Berkeley Software Distribution">BSD</a></li>
<li><a href="/wiki/GNU#History" title="GNU">GNU</a></li>
<li><a href="/wiki/History_of_Haiku_(operating_system)" title="History of Haiku (operating system)">Haiku</a></li>
<li><a href="/wiki/History_of_Linux" title="History of Linux">Linux</a></li>
<li><a href="/wiki/Mozilla" title="Mozilla">Mozilla</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Community</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Free_software_movement" title="Free software movement">Free software movement</a></li>
<li><a href="/wiki/Open-source_movement" title="Open-source movement">Open-source movement</a></li>
<li><a href="/wiki/List_of_free_and_open-source_software_organizations" title="List of free and open-source software organizations">Organizations</a></li>
<li><a href="/wiki/List_of_free-software_events" title="List of free-software events">Events</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Free_software_license" title="Free software license">Licenses</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Apache_License" title="Apache License">Apache</a></li>
<li><a href="/wiki/Apple_Public_Source_License" title="Apple Public Source License">APSL</a></li>
<li><a href="/wiki/Artistic_License" title="Artistic License">Artistic</a></li>
<li><a href="/wiki/Beerware" title="Beerware">Beerware</a></li>
<li><a href="/wiki/Boost_Software_License" title="Boost Software License" class="mw-redirect">Boost</a></li>
<li><a href="/wiki/BSD_licenses" title="BSD licenses">BSD</a></li>
<li><a href="/wiki/CC0" title="CC0" class="mw-redirect">CC0</a></li>
<li><a href="/wiki/Common_Development_and_Distribution_License" title="Common Development and Distribution License">CDDL</a></li>
<li><a href="/wiki/Eclipse_Public_License" title="Eclipse Public License">EPL</a></li>
<li><a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU GPL</a></li>
<li><a href="/wiki/GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">GNU LGPL</a></li>
<li><a href="/wiki/ISC_license" title="ISC license">ISC</a></li>
<li><a href="/wiki/MIT_License" title="MIT License">MIT</a></li>
<li><a href="/wiki/Mozilla_Public_License" title="Mozilla Public License">MPL</a></li>
<li><a href="/wiki/Shared_source#Open_Source_licenses" title="Shared source">Ms-PL/RL</a></li>
<li><a href="/wiki/WTFPL" title="WTFPL">WTFPL</a></li>
<li><a href="/wiki/Zlib_License" title="Zlib License">zlib</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">License types<br />
and standards</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Comparison_of_free_and_open-source_software_licenses" title="Comparison of free and open-source software licenses">Comparison of free and open-source software licenses</a></li>
<li><a href="/wiki/Contributor_License_Agreement" title="Contributor License Agreement">Contributor License Agreement</a></li>
<li><a href="/wiki/Copyfree" title="Copyfree" class="mw-redirect">Copyfree</a></li>
<li><a href="/wiki/Copyleft" title="Copyleft">Copyleft</a></li>
<li><a href="/wiki/Debian_Free_Software_Guidelines" title="Debian Free Software Guidelines">Debian Free Software Guidelines</a></li>
<li><a href="/wiki/Definition_of_Free_Cultural_Works" title="Definition of Free Cultural Works">Definition of Free Cultural Works</a></li>
<li><a href="/wiki/Free_license" title="Free license">Free license</a></li>
<li><a href="/wiki/The_Free_Software_Definition" title="The Free Software Definition">The Free Software Definition</a></li>
<li><a href="/wiki/The_Open_Source_Definition" title="The Open Source Definition">The Open Source Definition</a></li>
<li><a href="/wiki/Open-source_license" title="Open-source license">Open-source license</a></li>
<li><a href="/wiki/Permissive_free_software_licence" title="Permissive free software licence">Permissive free software licence</a></li>
<li><a href="/wiki/Public_domain" title="Public domain">Public domain</a></li>
<li><a href="/wiki/Viral_license" title="Viral license">Viral license</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Challenges</th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Binary_blob" title="Binary blob">Binary blob</a></li>
<li><a href="/wiki/Digital_rights_management" title="Digital rights management">Digital rights management</a></li>
<li><a href="/wiki/Free_and_open-source_graphics_device_driver" title="Free and open-source graphics device driver">Free and open-source graphics device driver</a></li>
<li><a href="/wiki/Comparison_of_open-source_wireless_drivers" title="Comparison of open-source wireless drivers">Lack of wireless driver support</a></li>
<li><a href="/wiki/Hardware_restriction" title="Hardware restriction">Hardware restrictions</a></li>
<li><a href="/wiki/License_proliferation" title="License proliferation">License proliferation</a></li>
<li><a href="/wiki/Mozilla_Corporation_software_rebranded_by_the_Debian_project" title="Mozilla Corporation software rebranded by the Debian project" class="mw-redirect">Mozilla software rebranding</a></li>
<li><a href="/wiki/Proprietary_software" title="Proprietary software">Proprietary software</a></li>
<li><a href="/wiki/SCO/Linux_controversies" title="SCO/Linux controversies">SCO/Linux controversies</a></li>
<li><a href="/wiki/UEFI_Secure_Boot#Secure_boot" title="UEFI Secure Boot" class="mw-redirect">Secure boot</a></li>
<li><a href="/wiki/Software_patents_and_free_software" title="Software patents and free software">Software patents</a></li>
<li><a href="/wiki/Open-source_software_security" title="Open-source software security">Software security</a></li>
<li><a href="/wiki/Trusted_Computing" title="Trusted Computing">Trusted Computing</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Related topics</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><i><a href="/wiki/The_Cathedral_and_the_Bazaar" title="The Cathedral and the Bazaar">The Cathedral and the Bazaar</a></i></li>
<li><a href="/wiki/Fork_(software_development)" title="Fork (software development)">Forking</a></li>
<li><a href="/wiki/Microsoft_Open_Specification_Promise" title="Microsoft Open Specification Promise">Microsoft Open Specification Promise</a></li>
<li><i><a href="/wiki/Revolution_OS" title="Revolution OS">Revolution OS</a></i></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px">
<td colspan="2"></td>
</tr>
<tr>
<td class="navbox-abovebelow" colspan="2" style="font-weight:bold">
<div>
<ul>
<li><img alt="Wikipedia book" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/16px-Symbol_book_class2.svg.png" title="Wikipedia book" width="16" height="16" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/23px-Symbol_book_class2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/31px-Symbol_book_class2.svg.png 2x" data-file-width="180" data-file-height="185" /> <a href="/wiki/Book:Free_and_Open_Source_Software" title="Book:Free and Open Source Software">Book</a></li>
<li><img alt="Category" src="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/16px-Folder_Hexagonal_Icon.svg.png" title="Category" width="16" height="14" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/24px-Folder_Hexagonal_Icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/32px-Folder_Hexagonal_Icon.svg.png 2x" data-file-width="36" data-file-height="31" /> <a href="/wiki/Category:Free_software" title="Category:Free software">Category</a></li>
<li><img alt="Commons page" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" title="Commons page" width="12" height="16" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /> <a href="//commons.wikimedia.org/wiki/Category:Free_software" class="extiw" title="commons:Category:Free software">Commons</a></li>
<li><img alt="Portal" src="//upload.wikimedia.org/wikipedia/en/thumb/f/fd/Portal-puzzle.svg/16px-Portal-puzzle.svg.png" title="Portal" width="16" height="14" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/fd/Portal-puzzle.svg/24px-Portal-puzzle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/fd/Portal-puzzle.svg/32px-Portal-puzzle.svg.png 2x" data-file-width="32" data-file-height="28" /> <a href="/wiki/Portal:Free_software" title="Portal:Free software">Portal</a></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="navbox" style="border-spacing:0">
<tr>
<td style="padding:2px">
<table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit">
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px">
<div style="padding:0em 0.25em">
<ul>
<li><a href="/wiki/Integrated_Authority_File" title="Integrated Authority File">GND</a>: <span class="uid"><a rel="nofollow" class="external text" href="http://d-nb.info/gnd/4401313-9">4401313-9</a></span></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>


<!-- 
NewPP limit report
Parsed by mw1090
Cached time: 20160307215602
Cache expiry: 86400
Dynamic content: true
CPU time usage: 1.291 seconds
Real time usage: 1.482 seconds
Preprocessor visited node count: 6694/1000000
Preprocessor generated node count: 0/1500000
Post‐expand include size: 239443/2097152 bytes
Template argument size: 13986/2097152 bytes
Highest expansion depth: 15/40
Expensive parser function count: 12/500
Lua time usage: 0.525/10.000 seconds
Lua memory usage: 6.75 MB/50 MB
Number of Wikibase entities loaded: 1-->

<!-- 
Transclusion expansion time report (%,ms,calls,template)
100.00% 1120.078      1 - -total
 39.78%  445.582      1 - Template:Reflist
 28.46%  318.797     53 - Template:Cite_web
  8.11%   90.851      1 - Template:Infobox_programming_language
  7.59%   84.988      1 - Template:Infobox
  6.75%   75.561      5 - Template:Navbox
  5.70%   63.869      5 - Template:Ambox
  4.68%   52.419      5 - Template:Fix
  4.43%   49.614      2 - Template:Citation_needed
  4.18%   46.837      1 - Template:Multiple_issues
-->

<!-- Saved in parser cache with key enwiki:pcache:idhash:15881-0!*!0!!en!4!* and timestamp 20160307215600 and revision id 707807094
 -->
<noscript><img src="//en.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript></div>					<div class="printfooter">
						Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;oldid=707807094">https://en.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;oldid=707807094</a>"					</div>
				<div id='catlinks' class='catlinks' data-mw='interface'><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:C_programming_language_family" title="Category:C programming language family">C programming language family</a></li><li><a href="/wiki/Category:Class-based_programming_languages" title="Category:Class-based programming languages">Class-based programming languages</a></li><li><a href="/wiki/Category:Concurrent_programming_languages" title="Category:Concurrent programming languages">Concurrent programming languages</a></li><li><a href="/wiki/Category:Cross-platform_software" title="Category:Cross-platform software">Cross-platform software</a></li><li><a href="/wiki/Category:Java_platform" title="Category:Java platform">Java platform</a></li><li><a href="/wiki/Category:Java_(programming_language)" title="Category:Java (programming language)">Java (programming language)</a></li><li><a href="/wiki/Category:Java_specification_requests" title="Category:Java specification requests">Java specification requests</a></li><li><a href="/wiki/Category:JVM_programming_languages" title="Category:JVM programming languages">JVM programming languages</a></li><li><a href="/wiki/Category:Object-oriented_programming_languages" title="Category:Object-oriented programming languages">Object-oriented programming languages</a></li><li><a href="/wiki/Category:Programming_languages_created_in_1995" title="Category:Programming languages created in 1995">Programming languages created in 1995</a></li><li><a href="/wiki/Category:Statically_typed_programming_languages" title="Category:Statically typed programming languages">Statically typed programming languages</a></li><li><a href="/wiki/Category:Sun_Microsystems" title="Category:Sun Microsystems">Sun Microsystems</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_April_2015" title="Category:Articles with unsourced statements from April 2015">Articles with unsourced statements from April 2015</a></li><li><a href="/wiki/Category:Articles_containing_potentially_dated_statements_from_2015" title="Category:Articles containing potentially dated statements from 2015">Articles containing potentially dated statements from 2015</a></li><li><a href="/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_June_2013" title="Category:Articles with unsourced statements from June 2013">Articles with unsourced statements from June 2013</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_May_2013" title="Category:Articles needing additional references from May 2013">Articles needing additional references from May 2013</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:Articles_needing_cleanup_from_May_2013" title="Category:Articles needing cleanup from May 2013">Articles needing cleanup from May 2013</a></li><li><a href="/wiki/Category:All_pages_needing_cleanup" title="Category:All pages needing cleanup">All pages needing cleanup</a></li><li><a href="/wiki/Category:Articles_containing_how-to_sections" title="Category:Articles containing how-to sections">Articles containing how-to sections</a></li><li><a href="/wiki/Category:Articles_needing_cleanup_from_January_2012" title="Category:Articles needing cleanup from January 2012">Articles needing cleanup from January 2012</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_December_2014" title="Category:Articles needing additional references from December 2014">Articles needing additional references from December 2014</a></li><li><a href="/wiki/Category:Vague_or_ambiguous_time_from_December_2014" title="Category:Vague or ambiguous time from December 2014">Vague or ambiguous time from December 2014</a></li><li><a href="/wiki/Category:Articles_with_specifically_marked_weasel-worded_phrases_from_September_2015" title="Category:Articles with specifically marked weasel-worded phrases from September 2015">Articles with specifically marked weasel-worded phrases from September 2015</a></li><li><a href="/wiki/Category:Wikipedia_articles_that_may_have_off-topic_paragraphs" title="Category:Wikipedia articles that may have off-topic paragraphs">Wikipedia articles that may have off-topic paragraphs</a></li><li><a href="/wiki/Category:Wikipedia_articles_with_GND_identifiers" title="Category:Wikipedia articles with GND identifiers">Wikipedia articles with GND identifiers</a></li><li><a href="/wiki/Category:Articles_with_example_Java_code" title="Category:Articles with example Java code">Articles with example Java code</a></li></ul></div></div>				<div class="visualClear"></div>
							</div>
		</div>
		<div id="mw-navigation">
			<h2>Navigation menu</h2>

			<div id="mw-head">
									<div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label">
						<h3 id="p-personal-label">Personal tools</h3>
						<ul>
							<li id="pt-anonuserpage">Not logged in</li><li id="pt-anontalk"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n">Talk</a></li><li id="pt-anoncontribs"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y">Contributions</a></li><li id="pt-createaccount"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Java+%28programming+language%29&amp;type=signup" title="You are encouraged to create an account and log in; however, it is not mandatory">Create account</a></li><li id="pt-login"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Java+%28programming+language%29" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o">Log in</a></li>						</ul>
					</div>
									<div id="left-navigation">
										<div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label">
						<h3 id="p-namespaces-label">Namespaces</h3>
						<ul>
															<li  id="ca-nstab-main" class="selected"><span><a href="/wiki/Java_(programming_language)"  title="View the content page [c]" accesskey="c">Article</a></span></li>
															<li  id="ca-talk"><span><a href="/wiki/Talk:Java_(programming_language)"  title="Discussion about the content page [t]" accesskey="t" rel="discussion">Talk</a></span></li>
													</ul>
					</div>
										<div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label">
												<h3 id="p-variants-label">
							<span>Variants</span><a href="#"></a>
						</h3>

						<div class="menu">
							<ul>
															</ul>
						</div>
					</div>
									</div>
				<div id="right-navigation">
										<div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label">
						<h3 id="p-views-label">Views</h3>
						<ul>
															<li id="ca-view" class="selected"><span><a href="/wiki/Java_(programming_language)" >Read</a></span></li>
															<li id="ca-viewsource"><span><a href="/w/index.php?title=Java_(programming_language)&amp;action=edit"  title="This page is protected.&#10;You can view its source [e]" accesskey="e">View source</a></span></li>
															<li id="ca-history" class="collapsible"><span><a href="/w/index.php?title=Java_(programming_language)&amp;action=history"  title="Past revisions of this page [h]" accesskey="h">View history</a></span></li>
													</ul>
					</div>
										<div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label">
						<h3 id="p-cactions-label"><span>More</span><a href="#"></a></h3>

						<div class="menu">
							<ul>
															</ul>
						</div>
					</div>
										<div id="p-search" role="search">
						<h3>
							<label for="searchInput">Search</label>
						</h3>

						<form action="/w/index.php" id="searchform">
							<div id="simpleSearch">
							<input type="search" name="search" placeholder="Search" title="Search Wikipedia [f]" accesskey="f" id="searchInput" /><input type="hidden" value="Special:Search" name="title" /><input type="submit" name="fulltext" value="Search" title="Search Wikipedia for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton" /><input type="submit" name="go" value="Go" title="Go to a page with this exact name if it exists" id="searchButton" class="searchButton" />							</div>
						</form>
					</div>
									</div>
			</div>
			<div id="mw-panel">
				<div id="p-logo" role="banner"><a class="mw-wiki-logo" href="/wiki/Main_Page"  title="Visit the main page"></a></div>
						<div class="portal" role="navigation" id='p-navigation' aria-labelledby='p-navigation-label'>
			<h3 id='p-navigation-label'>Navigation</h3>

			<div class="body">
									<ul>
						<li id="n-mainpage-description"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z">Main page</a></li><li id="n-contents"><a href="/wiki/Portal:Contents" title="Guides to browsing Wikipedia">Contents</a></li><li id="n-featuredcontent"><a href="/wiki/Portal:Featured_content" title="Featured content – the best of Wikipedia">Featured content</a></li><li id="n-currentevents"><a href="/wiki/Portal:Current_events" title="Find background information on current events">Current events</a></li><li id="n-randompage"><a href="/wiki/Special:Random" title="Load a random article [x]" accesskey="x">Random article</a></li><li id="n-sitesupport"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" title="Support us">Donate to Wikipedia</a></li><li id="n-shoplink"><a href="//shop.wikimedia.org" title="Visit the Wikipedia store">Wikipedia store</a></li>					</ul>
							</div>
		</div>
			<div class="portal" role="navigation" id='p-interaction' aria-labelledby='p-interaction-label'>
			<h3 id='p-interaction-label'>Interaction</h3>

			<div class="body">
									<ul>
						<li id="n-help"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia">Help</a></li><li id="n-aboutsite"><a href="/wiki/Wikipedia:About" title="Find out about Wikipedia">About Wikipedia</a></li><li id="n-portal"><a href="/wiki/Wikipedia:Community_portal" title="About the project, what you can do, where to find things">Community portal</a></li><li id="n-recentchanges"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li><li id="n-contactpage"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia">Contact page</a></li>					</ul>
							</div>
		</div>
			<div class="portal" role="navigation" id='p-tb' aria-labelledby='p-tb-label'>
			<h3 id='p-tb-label'>Tools</h3>

			<div class="body">
									<ul>
						<li id="t-whatlinkshere"><a href="/wiki/Special:WhatLinksHere/Java_(programming_language)" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked"><a href="/wiki/Special:RecentChangesLinked/Java_(programming_language)" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-upload"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u">Upload file</a></li><li id="t-specialpages"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-permalink"><a href="/w/index.php?title=Java_(programming_language)&amp;oldid=707807094" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info"><a href="/w/index.php?title=Java_(programming_language)&amp;action=info" title="More information about this page">Page information</a></li><li id="t-wikibase"><a href="//www.wikidata.org/wiki/Q251" title="Link to connected data repository item [g]" accesskey="g">Wikidata item</a></li><li id="t-cite"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Java_%28programming_language%29&amp;id=707807094" title="Information on how to cite this page">Cite this page</a></li>					</ul>
							</div>
		</div>
			<div class="portal" role="navigation" id='p-coll-print_export' aria-labelledby='p-coll-print_export-label'>
			<h3 id='p-coll-print_export-label'>Print/export</h3>

			<div class="body">
									<ul>
						<li id="coll-create_a_book"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Java+%28programming+language%29">Create a book</a></li><li id="coll-download-as-rdf2latex"><a href="/w/index.php?title=Special:Book&amp;bookcmd=render_article&amp;arttitle=Java+%28programming+language%29&amp;returnto=Java+%28programming+language%29&amp;oldid=707807094&amp;writer=rdf2latex">Download as PDF</a></li><li id="t-print"><a href="/w/index.php?title=Java_(programming_language)&amp;printable=yes" title="Printable version of this page [p]" accesskey="p">Printable version</a></li>					</ul>
							</div>
		</div>
			<div class="portal" role="navigation" id='p-wikibase-otherprojects' aria-labelledby='p-wikibase-otherprojects-label'>
			<h3 id='p-wikibase-otherprojects-label'>Other projects</h3>

			<div class="body">
									<ul>
						<li class="wb-otherproject-link wb-otherproject-commons"><a href="https://commons.wikimedia.org/wiki/Category:Java_(programming_language)" hreflang="en">Wikimedia Commons</a></li><li class="wb-otherproject-link wb-otherproject-wikibooks"><a href="https://en.wikibooks.org/wiki/Java_Programming" hreflang="en">Wikibooks</a></li><li class="wb-otherproject-link wb-otherproject-wikiquote"><a href="https://en.wikiquote.org/wiki/Java_(programming_language)" hreflang="en">Wikiquote</a></li><li class="wb-otherproject-link wb-otherproject-wikiversity"><a href="https://en.wikiversity.org/wiki/Topic:Java" hreflang="en">Wikiversity</a></li>					</ul>
							</div>
		</div>
			<div class="portal" role="navigation" id='p-lang' aria-labelledby='p-lang-label'>
			<h3 id='p-lang-label'>Languages</h3>

			<div class="body">
									<ul>
						<li class="interlanguage-link interwiki-ace"><a href="//ace.wikipedia.org/wiki/Java" title="Java – Achinese" lang="ace" hreflang="ace">Acèh</a></li><li class="interlanguage-link interwiki-af"><a href="//af.wikipedia.org/wiki/Java_(programmeertaal)" title="Java (programmeertaal) – Afrikaans" lang="af" hreflang="af">Afrikaans</a></li><li class="interlanguage-link interwiki-am"><a href="//am.wikipedia.org/wiki/%E1%8C%83%E1%89%AB" title="ጃቫ – Amharic" lang="am" hreflang="am">አማርኛ</a></li><li class="interlanguage-link interwiki-ar"><a href="//ar.wikipedia.org/wiki/%D8%AC%D8%A7%D9%81%D8%A7_(%D9%84%D8%BA%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D8%A9)" title="جافا (لغة برمجة) – Arabic" lang="ar" hreflang="ar">العربية</a></li><li class="interlanguage-link interwiki-as"><a href="//as.wikipedia.org/wiki/%E0%A6%9C%E0%A6%BE%E0%A6%AD%E0%A6%BE" title="জাভা – Assamese" lang="as" hreflang="as">অসমীয়া</a></li><li class="interlanguage-link interwiki-az"><a href="//az.wikipedia.org/wiki/Java" title="Java – Azerbaijani" lang="az" hreflang="az">Azərbaycanca</a></li><li class="interlanguage-link interwiki-azb"><a href="//azb.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7" title="جاوا – تۆرکجه" lang="azb" hreflang="azb">تۆرکجه</a></li><li class="interlanguage-link interwiki-bn"><a href="//bn.wikipedia.org/wiki/%E0%A6%9C%E0%A6%BE%E0%A6%AD%E0%A6%BE_(%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A7%8B%E0%A6%97%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%AE%E0%A6%BF%E0%A6%82_%E0%A6%AD%E0%A6%BE%E0%A6%B7%E0%A6%BE)" title="জাভা (প্রোগ্রামিং ভাষা) – Bengali" lang="bn" hreflang="bn">বাংলা</a></li><li class="interlanguage-link interwiki-zh-min-nan"><a href="//zh-min-nan.wikipedia.org/wiki/Java_(th%C3%AAng-sek_g%C3%AD-gi%C3%A2n)" title="Java (thêng-sek gí-giân) – Chinese (Min Nan)" lang="zh-min-nan" hreflang="zh-min-nan">Bân-lâm-gú</a></li><li class="interlanguage-link interwiki-be"><a href="//be.wikipedia.org/wiki/Java,_%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%B0%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F" title="Java, мова праграмавання – Belarusian" lang="be" hreflang="be">Беларуская</a></li><li class="interlanguage-link interwiki-be-x-old"><a href="//be-x-old.wikipedia.org/wiki/Java" title="Java – беларуская (тарашкевіца)‎" lang="be-x-old" hreflang="be-x-old">Беларуская (тарашкевіца)‎</a></li><li class="interlanguage-link interwiki-bg"><a href="//bg.wikipedia.org/wiki/Java" title="Java – Bulgarian" lang="bg" hreflang="bg">Български</a></li><li class="interlanguage-link interwiki-bs"><a href="//bs.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) – Bosnian" lang="bs" hreflang="bs">Bosanski</a></li><li class="interlanguage-link interwiki-ca"><a href="//ca.wikipedia.org/wiki/Java_(llenguatge_de_programaci%C3%B3)" title="Java (llenguatge de programació) – Catalan" lang="ca" hreflang="ca">Català</a></li><li class="interlanguage-link interwiki-cv"><a href="//cv.wikipedia.org/wiki/Java_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80_%D1%87%C4%95%D0%BB%D1%85%D0%B8)" title="Java (компьютер чĕлхи) – Chuvash" lang="cv" hreflang="cv">Чӑвашла</a></li><li class="interlanguage-link interwiki-cs"><a href="//cs.wikipedia.org/wiki/Java_(programovac%C3%AD_jazyk)" title="Java (programovací jazyk) – Czech" lang="cs" hreflang="cs">Čeština</a></li><li class="interlanguage-link interwiki-co"><a href="//co.wikipedia.org/wiki/Java" title="Java – Corsican" lang="co" hreflang="co">Corsu</a></li><li class="interlanguage-link interwiki-cy"><a href="//cy.wikipedia.org/wiki/Java_(iaith_rhaglennu)" title="Java (iaith rhaglennu) – Welsh" lang="cy" hreflang="cy">Cymraeg</a></li><li class="interlanguage-link interwiki-da"><a href="//da.wikipedia.org/wiki/Java_(programmeringssprog)" title="Java (programmeringssprog) – Danish" lang="da" hreflang="da">Dansk</a></li><li class="interlanguage-link interwiki-de"><a href="//de.wikipedia.org/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache) – German" lang="de" hreflang="de">Deutsch</a></li><li class="interlanguage-link interwiki-et"><a href="//et.wikipedia.org/wiki/Java" title="Java – Estonian" lang="et" hreflang="et">Eesti</a></li><li class="interlanguage-link interwiki-el"><a href="//el.wikipedia.org/wiki/Java" title="Java – Greek" lang="el" hreflang="el">Ελληνικά</a></li><li class="interlanguage-link interwiki-es"><a href="//es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)" title="Java (lenguaje de programación) – Spanish" lang="es" hreflang="es">Español</a></li><li class="interlanguage-link interwiki-eo"><a href="//eo.wikipedia.org/wiki/Java_(programlingvo)" title="Java (programlingvo) – Esperanto" lang="eo" hreflang="eo">Esperanto</a></li><li class="interlanguage-link interwiki-eu"><a href="//eu.wikipedia.org/wiki/Java_(programazio_lengoaia)" title="Java (programazio lengoaia) – Basque" lang="eu" hreflang="eu">Euskara</a></li><li class="interlanguage-link interwiki-fa"><a href="//fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_(%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)" title="جاوا (زبان برنامه‌نویسی) – Persian" lang="fa" hreflang="fa">فارسی</a></li><li class="interlanguage-link interwiki-fr"><a href="//fr.wikipedia.org/wiki/Java_(langage)" title="Java (langage) – French" lang="fr" hreflang="fr">Français</a></li><li class="interlanguage-link interwiki-ga"><a href="//ga.wikipedia.org/wiki/Java" title="Java – Irish" lang="ga" hreflang="ga">Gaeilge</a></li><li class="interlanguage-link interwiki-gl"><a href="//gl.wikipedia.org/wiki/Linguaxe_Java" title="Linguaxe Java – Galician" lang="gl" hreflang="gl">Galego</a></li><li class="interlanguage-link interwiki-gu"><a href="//gu.wikipedia.org/wiki/%E0%AA%9C%E0%AA%BE%E0%AA%B5%E0%AA%BE_(%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AB%8B%E0%AA%97%E0%AB%8D%E0%AA%B0%E0%AA%BE%E0%AA%AE%E0%AA%BF%E0%AA%82%E0%AA%97_%E0%AA%AD%E0%AA%BE%E0%AA%B7%E0%AA%BE)" title="જાવા (પ્રોગ્રામિંગ ભાષા) – Gujarati" lang="gu" hreflang="gu">ગુજરાતી</a></li><li class="interlanguage-link interwiki-hak"><a href="//hak.wikipedia.org/wiki/Java" title="Java – Hakka Chinese" lang="hak" hreflang="hak">客家語/Hak-kâ-ngî</a></li><li class="interlanguage-link interwiki-ko"><a href="//ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)" title="자바 (프로그래밍 언어) – Korean" lang="ko" hreflang="ko">한국어</a></li><li class="interlanguage-link interwiki-hy"><a href="//hy.wikipedia.org/wiki/%D5%8B%D5%A1%D5%BE%D5%A1_(%D5%AE%D6%80%D5%A1%D5%A3%D6%80%D5%A1%D5%BE%D5%B8%D6%80%D5%B4%D5%A1%D5%B6_%D5%AC%D5%A5%D5%A6%D5%B8%D6%82)" title="Ջավա (ծրագրավորման լեզու) – Armenian" lang="hy" hreflang="hy">Հայերեն</a></li><li class="interlanguage-link interwiki-hi"><a href="//hi.wikipedia.org/wiki/%E0%A4%9C%E0%A4%BE%E0%A4%B5%E0%A4%BE_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A5%8B%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%AE%E0%A4%BF%E0%A4%82%E0%A4%97_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE" title="जावा प्रोग्रामिंग भाषा – Hindi" lang="hi" hreflang="hi">हिन्दी</a></li><li class="interlanguage-link interwiki-hr"><a href="//hr.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) – Croatian" lang="hr" hreflang="hr">Hrvatski</a></li><li class="interlanguage-link interwiki-id"><a href="//id.wikipedia.org/wiki/Java" title="Java – Indonesian" lang="id" hreflang="id">Bahasa Indonesia</a></li><li class="interlanguage-link interwiki-ia"><a href="//ia.wikipedia.org/wiki/Java_(linguage_de_programmation)" title="Java (linguage de programmation) – Interlingua" lang="ia" hreflang="ia">Interlingua</a></li><li class="interlanguage-link interwiki-is"><a href="//is.wikipedia.org/wiki/Java_(forritunarm%C3%A1l)" title="Java (forritunarmál) – Icelandic" lang="is" hreflang="is">Íslenska</a></li><li class="interlanguage-link interwiki-it"><a href="//it.wikipedia.org/wiki/Java_(linguaggio_di_programmazione)" title="Java (linguaggio di programmazione) – Italian" lang="it" hreflang="it">Italiano</a></li><li class="interlanguage-link interwiki-he"><a href="//he.wikipedia.org/wiki/Java" title="Java – Hebrew" lang="he" hreflang="he">עברית</a></li><li class="interlanguage-link interwiki-kn"><a href="//kn.wikipedia.org/wiki/%E0%B2%9C%E0%B2%BE%E0%B2%B5%E0%B2%BE" title="ಜಾವಾ – Kannada" lang="kn" hreflang="kn">ಕನ್ನಡ</a></li><li class="interlanguage-link interwiki-ka"><a href="//ka.wikipedia.org/wiki/%E1%83%AF%E1%83%90%E1%83%95%E1%83%90_(%E1%83%9E%E1%83%A0%E1%83%9D%E1%83%92%E1%83%A0%E1%83%90%E1%83%9B%E1%83%98%E1%83%A0%E1%83%94%E1%83%91%E1%83%98%E1%83%A1_%E1%83%94%E1%83%9C%E1%83%90)" title="ჯავა (პროგრამირების ენა) – Georgian" lang="ka" hreflang="ka">ქართული</a></li><li class="interlanguage-link interwiki-kk"><a href="//kk.wikipedia.org/wiki/Java_(%D0%B1%D0%B0%D2%93%D0%B4%D0%B0%D1%80%D0%BB%D0%B0%D0%BC%D0%B0%D0%BB%D0%B0%D1%83_%D1%82%D1%96%D0%BB%D1%96)" title="Java (бағдарламалау тілі) – Kazakh" lang="kk" hreflang="kk">Қазақша</a></li><li class="interlanguage-link interwiki-ht"><a href="//ht.wikipedia.org/wiki/Java_(enf%C3%B2matik)" title="Java (enfòmatik) – Haitian Creole" lang="ht" hreflang="ht">Kreyòl ayisyen</a></li><li class="interlanguage-link interwiki-ky"><a href="//ky.wikipedia.org/wiki/Java" title="Java – Kyrgyz" lang="ky" hreflang="ky">Кыргызча</a></li><li class="interlanguage-link interwiki-la"><a href="//la.wikipedia.org/wiki/Java_(lingua_programmandi)" title="Java (lingua programmandi) – Latin" lang="la" hreflang="la">Latina</a></li><li class="interlanguage-link interwiki-lv"><a href="//lv.wikipedia.org/wiki/Java_(programm%C4%93%C5%A1anas_valoda)" title="Java (programmēšanas valoda) – Latvian" lang="lv" hreflang="lv">Latviešu</a></li><li class="interlanguage-link interwiki-lt"><a href="//lt.wikipedia.org/wiki/Java_(kalba)" title="Java (kalba) – Lithuanian" lang="lt" hreflang="lt">Lietuvių</a></li><li class="interlanguage-link interwiki-lij"><a href="//lij.wikipedia.org/wiki/Java_(lenguazzo)" title="Java (lenguazzo) – Ligurian" lang="lij" hreflang="lij">Ligure</a></li><li class="interlanguage-link interwiki-hu"><a href="//hu.wikipedia.org/wiki/Java_(programoz%C3%A1si_nyelv)" title="Java (programozási nyelv) – Hungarian" lang="hu" hreflang="hu">Magyar</a></li><li class="interlanguage-link interwiki-mk"><a href="//mk.wikipedia.org/wiki/Java_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D1%98%D0%B0%D0%B7%D0%B8%D0%BA)" title="Java (програмски јазик) – Macedonian" lang="mk" hreflang="mk">Македонски</a></li><li class="interlanguage-link interwiki-ml badge-Q17437796 badge-featuredarticle" title="featured article"><a href="//ml.wikipedia.org/wiki/%E0%B4%9C%E0%B4%BE%E0%B4%B5_(%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B5%8B%E0%B4%97%E0%B5%8D%E0%B4%B0%E0%B4%BE%E0%B4%AE%E0%B4%BF%E0%B4%99%E0%B5%8D_%E0%B4%AD%E0%B4%BE%E0%B4%B7)" title="ജാവ (പ്രോഗ്രാമിങ് ഭാഷ) – Malayalam" lang="ml" hreflang="ml">മലയാളം</a></li><li class="interlanguage-link interwiki-mr"><a href="//mr.wikipedia.org/wiki/%E0%A4%9C%E0%A4%BE%E0%A4%B5%E0%A4%BE_(%E0%A4%86%E0%A4%9C%E0%A5%8D%E0%A4%9E%E0%A4%BE%E0%A4%B5%E0%A4%B2%E0%A5%80_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE)" title="जावा (आज्ञावली भाषा) – Marathi" lang="mr" hreflang="mr">मराठी</a></li><li class="interlanguage-link interwiki-ms"><a href="//ms.wikipedia.org/wiki/Java" title="Java – Malay" lang="ms" hreflang="ms">Bahasa Melayu</a></li><li class="interlanguage-link interwiki-cdo"><a href="//cdo.wikipedia.org/wiki/Java" title="Java – Min Dong Chinese" lang="cdo" hreflang="cdo">Mìng-dĕ̤ng-ngṳ̄</a></li><li class="interlanguage-link interwiki-mn"><a href="//mn.wikipedia.org/wiki/Java" title="Java – Mongolian" lang="mn" hreflang="mn">Монгол</a></li><li class="interlanguage-link interwiki-my"><a href="//my.wikipedia.org/wiki/Java_(programming_language)" title="Java (programming language) – Burmese" lang="my" hreflang="my">မြန်မာဘာသာ</a></li><li class="interlanguage-link interwiki-nl"><a href="//nl.wikipedia.org/wiki/Java_(programmeertaal)" title="Java (programmeertaal) – Dutch" lang="nl" hreflang="nl">Nederlands</a></li><li class="interlanguage-link interwiki-ne"><a href="//ne.wikipedia.org/wiki/%E0%A4%9C%E0%A4%BE%E0%A4%B5%E0%A4%BE" title="जावा – Nepali" lang="ne" hreflang="ne">नेपाली</a></li><li class="interlanguage-link interwiki-ja"><a href="//ja.wikipedia.org/wiki/Java" title="Java – Japanese" lang="ja" hreflang="ja">日本語</a></li><li class="interlanguage-link interwiki-no"><a href="//no.wikipedia.org/wiki/Java_(programmeringsspr%C3%A5k)" title="Java (programmeringsspråk) – Norwegian" lang="no" hreflang="no">Norsk bokmål</a></li><li class="interlanguage-link interwiki-nn"><a href="//nn.wikipedia.org/wiki/Programmeringsspr%C3%A5ket_Java" title="Programmeringsspråket Java – Norwegian Nynorsk" lang="nn" hreflang="nn">Norsk nynorsk</a></li><li class="interlanguage-link interwiki-oc"><a href="//oc.wikipedia.org/wiki/Java_(lengatge)" title="Java (lengatge) – Occitan" lang="oc" hreflang="oc">Occitan</a></li><li class="interlanguage-link interwiki-uz"><a href="//uz.wikipedia.org/wiki/Java" title="Java – Uzbek" lang="uz" hreflang="uz">Oʻzbekcha/ўзбекча</a></li><li class="interlanguage-link interwiki-pa"><a href="//pa.wikipedia.org/wiki/%E0%A8%9C%E0%A8%BE%E0%A8%B5%E0%A8%BE_(%E0%A8%AA%E0%A9%8D%E0%A8%B0%E0%A9%8B%E0%A8%97%E0%A8%B0%E0%A8%BE%E0%A8%AE%E0%A8%BF%E0%A9%B0%E0%A8%97_%E0%A8%AD%E0%A8%BE%E0%A8%B8%E0%A8%BC%E0%A8%BE)" title="ਜਾਵਾ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ) – Punjabi" lang="pa" hreflang="pa">ਪੰਜਾਬੀ</a></li><li class="interlanguage-link interwiki-pl"><a href="//pl.wikipedia.org/wiki/Java" title="Java – Polish" lang="pl" hreflang="pl">Polski</a></li><li class="interlanguage-link interwiki-pt"><a href="//pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)" title="Java (linguagem de programação) – Portuguese" lang="pt" hreflang="pt">Português</a></li><li class="interlanguage-link interwiki-kaa"><a href="//kaa.wikipedia.org/wiki/Java_(programmalast%C4%B1r%C4%B1w_tili)" title="Java (programmalastırıw tili) – Kara-Kalpak" lang="kaa" hreflang="kaa">Qaraqalpaqsha</a></li><li class="interlanguage-link interwiki-ro"><a href="//ro.wikipedia.org/wiki/Java_(limbaj_de_programare)" title="Java (limbaj de programare) – Romanian" lang="ro" hreflang="ro">Română</a></li><li class="interlanguage-link interwiki-ru"><a href="//ru.wikipedia.org/wiki/Java" title="Java – Russian" lang="ru" hreflang="ru">Русский</a></li><li class="interlanguage-link interwiki-sah"><a href="//sah.wikipedia.org/wiki/Java" title="Java – Sakha" lang="sah" hreflang="sah">Саха тыла</a></li><li class="interlanguage-link interwiki-sco"><a href="//sco.wikipedia.org/wiki/Java_(programmin_leid)" title="Java (programmin leid) – Scots" lang="sco" hreflang="sco">Scots</a></li><li class="interlanguage-link interwiki-sq"><a href="//sq.wikipedia.org/wiki/Java_(gjuh%C3%AB_programimi)" title="Java (gjuhë programimi) – Albanian" lang="sq" hreflang="sq">Shqip</a></li><li class="interlanguage-link interwiki-si"><a href="//si.wikipedia.org/wiki/%E0%B6%A2%E0%B7%8F%E0%B7%80%E0%B7%8F_(%E0%B6%B4%E0%B6%BB%E0%B7%92%E0%B6%9C%E0%B6%AB%E0%B6%9A_%E0%B6%9A%E0%B7%8A%E2%80%8D%E0%B6%BB%E0%B6%B8%E0%B6%BD%E0%B7%9A%E0%B6%9B%E0%B6%B1_%E0%B6%B6%E0%B7%83)" title="ජාවා (පරිගණක ක්‍රමලේඛන බස) – Sinhala" lang="si" hreflang="si">සිංහල</a></li><li class="interlanguage-link interwiki-simple"><a href="//simple.wikipedia.org/wiki/Java_(programming_language)" title="Java (programming language) – Simple English" lang="simple" hreflang="simple">Simple English</a></li><li class="interlanguage-link interwiki-sk"><a href="//sk.wikipedia.org/wiki/Java_(programovac%C3%AD_jazyk)" title="Java (programovací jazyk) – Slovak" lang="sk" hreflang="sk">Slovenčina</a></li><li class="interlanguage-link interwiki-sl"><a href="//sl.wikipedia.org/wiki/Programski_jezik_java" title="Programski jezik java – Slovenian" lang="sl" hreflang="sl">Slovenščina</a></li><li class="interlanguage-link interwiki-so"><a href="//so.wikipedia.org/wiki/Java_(luuqada_borograaminta)" title="Java (luuqada borograaminta) – Somali" lang="so" hreflang="so">Soomaaliga</a></li><li class="interlanguage-link interwiki-ckb"><a href="//ckb.wikipedia.org/wiki/%D8%AC%D8%A7%DA%A4%D8%A7_(%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%A8%DB%95%D8%B1%D9%86%D8%A7%D9%85%DB%95%D8%B3%D8%A7%D8%B2%DB%8C)" title="جاڤا (زمانی بەرنامەسازی) – Central Kurdish" lang="ckb" hreflang="ckb">کوردیی ناوەندی</a></li><li class="interlanguage-link interwiki-sr"><a href="//sr.wikipedia.org/wiki/%D0%88%D0%B0%D0%B2%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D1%98%D0%B5%D0%B7%D0%B8%D0%BA)" title="Јава (програмски језик) – Serbian" lang="sr" hreflang="sr">Српски / srpski</a></li><li class="interlanguage-link interwiki-sh"><a href="//sh.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) – Serbo-Croatian" lang="sh" hreflang="sh">Srpskohrvatski / српскохрватски</a></li><li class="interlanguage-link interwiki-fi"><a href="//fi.wikipedia.org/wiki/Java" title="Java – Finnish" lang="fi" hreflang="fi">Suomi</a></li><li class="interlanguage-link interwiki-sv"><a href="//sv.wikipedia.org/wiki/Java_(programspr%C3%A5k)" title="Java (programspråk) – Swedish" lang="sv" hreflang="sv">Svenska</a></li><li class="interlanguage-link interwiki-tl"><a href="//tl.wikipedia.org/wiki/Java_(wikang_pamprograma)" title="Java (wikang pamprograma) – Tagalog" lang="tl" hreflang="tl">Tagalog</a></li><li class="interlanguage-link interwiki-ta"><a href="//ta.wikipedia.org/wiki/%E0%AE%9C%E0%AE%BE%E0%AE%B5%E0%AE%BE_(%E0%AE%A8%E0%AE%BF%E0%AE%B0%E0%AE%B2%E0%AE%BE%E0%AE%95%E0%AF%8D%E0%AE%95_%E0%AE%AE%E0%AF%8A%E0%AE%B4%E0%AE%BF)" title="ஜாவா (நிரலாக்க மொழி) – Tamil" lang="ta" hreflang="ta">தமிழ்</a></li><li class="interlanguage-link interwiki-tt"><a href="//tt.wikipedia.org/wiki/Java" title="Java – Tatar" lang="tt" hreflang="tt">Татарча/tatarça</a></li><li class="interlanguage-link interwiki-te"><a href="//te.wikipedia.org/wiki/%E0%B0%9C%E0%B0%BE%E0%B0%B5%E0%B0%BE" title="జావా – Telugu" lang="te" hreflang="te">తెలుగు</a></li><li class="interlanguage-link interwiki-th"><a href="//th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%A7%E0%B8%B2" title="ภาษาจาวา – Thai" lang="th" hreflang="th">ไทย</a></li><li class="interlanguage-link interwiki-tg"><a href="//tg.wikipedia.org/wiki/Java" title="Java – Tajik" lang="tg" hreflang="tg">Тоҷикӣ</a></li><li class="interlanguage-link interwiki-tr"><a href="//tr.wikipedia.org/wiki/Java_(programlama_dili)" title="Java (programlama dili) – Turkish" lang="tr" hreflang="tr">Türkçe</a></li><li class="interlanguage-link interwiki-bug"><a href="//bug.wikipedia.org/wiki/Java" title="Java – Buginese" lang="bug" hreflang="bug">ᨅᨔ ᨕᨘᨁᨗ</a></li><li class="interlanguage-link interwiki-uk"><a href="//uk.wikipedia.org/wiki/Java" title="Java – Ukrainian" lang="uk" hreflang="uk">Українська</a></li><li class="interlanguage-link interwiki-vec"><a href="//vec.wikipedia.org/wiki/Java" title="Java – Venetian" lang="vec" hreflang="vec">Vèneto</a></li><li class="interlanguage-link interwiki-vi"><a href="//vi.wikipedia.org/wiki/Java_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)" title="Java (ngôn ngữ lập trình) – Vietnamese" lang="vi" hreflang="vi">Tiếng Việt</a></li><li class="interlanguage-link interwiki-war"><a href="//war.wikipedia.org/wiki/Java_(linggwahe_hin_pagprograma)" title="Java (linggwahe hin pagprograma) – Waray" lang="war" hreflang="war">Winaray</a></li><li class="interlanguage-link interwiki-wuu"><a href="//wuu.wikipedia.org/wiki/Java" title="Java – Wu Chinese" lang="wuu" hreflang="wuu">吴语</a></li><li class="interlanguage-link interwiki-zh-yue"><a href="//zh-yue.wikipedia.org/wiki/Java%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80" title="Java程式語言 – Cantonese" lang="zh-yue" hreflang="zh-yue">粵語</a></li><li class="interlanguage-link interwiki-bat-smg"><a href="//bat-smg.wikipedia.org/wiki/Java" title="Java – Samogitian" lang="bat-smg" hreflang="bat-smg">Žemaitėška</a></li><li class="interlanguage-link interwiki-zh"><a href="//zh.wikipedia.org/wiki/Java" title="Java – Chinese" lang="zh" hreflang="zh">中文</a></li><li class="uls-p-lang-dummy"><a href="#"></a></li>					</ul>
				<div class='after-portlet after-portlet-lang'><span class="wb-langlinks-edit wb-langlinks-link"><a href="//www.wikidata.org/wiki/Q251#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div>			</div>
		</div>
				</div>
		</div>
		<div id="footer" role="contentinfo">
							<ul id="footer-info">
											<li id="footer-info-lastmod"> This page was last modified on 1 March 2016, at 22:15.</li>
											<li id="footer-info-copyright">Text is available under the <a rel="license" href="//en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License</a><a rel="license" href="//creativecommons.org/licenses/by-sa/3.0/" style="display:none;"></a>;
additional terms may apply.  By using this site, you agree to the <a href="//wikimediafoundation.org/wiki/Terms_of_Use">Terms of Use</a> and <a href="//wikimediafoundation.org/wiki/Privacy_policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a href="//www.wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li>
									</ul>
							<ul id="footer-places">
											<li id="footer-places-privacy"><a href="//wikimediafoundation.org/wiki/Privacy_policy" title="wmf:Privacy policy">Privacy policy</a></li>
											<li id="footer-places-about"><a href="/wiki/Wikipedia:About" title="Wikipedia:About">About Wikipedia</a></li>
											<li id="footer-places-disclaimer"><a href="/wiki/Wikipedia:General_disclaimer" title="Wikipedia:General disclaimer">Disclaimers</a></li>
											<li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li>
											<li id="footer-places-developers"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/How_to_contribute">Developers</a></li>
											<li id="footer-places-cookiestatement"><a href="//wikimediafoundation.org/wiki/Cookie_statement">Cookie statement</a></li>
											<li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Java_(programming_language)&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li>
									</ul>
										<ul id="footer-icons" class="noprint">
											<li id="footer-copyrightico">
							<a href="//wikimediafoundation.org/"><img src="/static/images/wikimedia-button.png" srcset="/static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation"/></a>						</li>
											<li id="footer-poweredbyico">
							<a href="//www.mediawiki.org/"><img src="/w/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/w/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /w/resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" /></a>						</li>
									</ul>
						<div style="clear:both"></div>
		</div>
		<script>(window.RLQ = window.RLQ || []).push(function () {
mw.loader.state({"ext.globalCssJs.site":"ready","ext.globalCssJs.user":"ready","user":"ready","user.groups":"ready"});mw.loader.load(["ext.cite.a11y","mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.eventLogging.subscriber","ext.gadget.teahouse","ext.gadget.ReferenceTooltips","ext.gadget.DRN-wizard","ext.gadget.charinsert","ext.gadget.refToolbar","ext.gadget.switcher","ext.gadget.featured-articles-links","mmv.bootstrap.autostart","ext.visualEditor.targetLoader","ext.wikimediaEvents","ext.navigationTiming","schema.UniversalLanguageSelector","ext.uls.eventlogger","ext.uls.interlanguage"]);
} );</script><script>(window.RLQ = window.RLQ || []).push(function () {
mw.config.set({"wgBackendResponseTime":84,"wgHostname":"mw1255"}); /* @nomin */
} );</script>
	</body>
</html>
