CINXE.COM

Java — Википедия

<!DOCTYPE html> <html class="client-nojs" lang="ru" dir="ltr"> <head> <meta charset="UTF-8"> <title>Java — Википедия</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )ruwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"],"wgRequestId":"38c5406d-604b-40d3-ab38-da3ff4785937","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Java","wgTitle":"Java","wgCurRevisionId":141635161,"wgRevisionId":141635161,"wgArticleId":2506,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view", "wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Страницы, использующие устаревший тег source","Страницы, использующие расширение JsonConfig","Википедия:Cite web (не указан язык)","Википедия:Cite web (заменить webcitation-архив: deadlink no)","Страницы, использующие волшебные ссылки ISBN","Википедия:Статьи с вики-разметкой в изображении карточки","Википедия:Статьи с источниками из Викиданных","ПРО:ИТ:Статьи по алфавиту","ПРО:ИТ:Последняя правка: в текущем месяце","Википедия:Статьи с нарушением взвешенности изложения","Википедия:Статьи с шаблонами недостатков по алфавиту", "Википедия:Страницы с шаблоном нп2 без дополнительного текста","Статьи со ссылками на Викисловарь","Статьи со ссылками на Викиучебник","Статьи со ссылками на Викисклад","Языки программирования по алфавиту","Языки программирования, появившиеся в 1995 году","Java","Языки веб-программирования","Языки программирования с автоматическим управлением памятью"],"wgPageViewLanguage":"ru","wgPageContentLanguage":"ru","wgPageContentModel":"wikitext","wgRelevantPageName":"Java","wgRelevantArticleId":2506,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{ "accuracy":{"levels":1}}},"wgStableRevisionId":134243842,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"ru","pageLanguageDir":"ltr","pageVariantFallbacks":"ru"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":200000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q251","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={ "ext.gadget.common-site":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","ext.pygments":"ready","skins.vector.styles.legacy":"ready","jquery.makeCollapsible.styles":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.collapserefs","ext.gadget.directLinkToCommons","ext.gadget.referenceTooltips","ext.gadget.logo", "ext.gadget.edittop","ext.gadget.navboxDefaultGadgets","ext.gadget.wikibugs","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","oojs-ui.styles.icons-media","oojs-ui-core.icons","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=ru&amp;modules=codex-search-styles%7Cext.cite.styles%7Cext.flaggedRevs.basic%7Cext.math.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cjquery.makeCollapsible.styles%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&amp;only=styles&amp;skin=vector"> <script async="" src="/w/load.php?lang=ru&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=ru&amp;modules=ext.gadget.common-site&amp;only=styles&amp;skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=ru&amp;modules=site.styles&amp;only=styles&amp;skin=vector"> <noscript><link rel="stylesheet" href="/w/load.php?lang=ru&amp;modules=noscript&amp;only=styles&amp;skin=vector"></noscript> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/1200px-Java_logo.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="2195"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/800px-Java_logo.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="1463"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/640px-Java_logo.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="1171"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Java — Википедия"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//ru.m.wikipedia.org/wiki/Java"> <link rel="alternate" type="application/x-wiki" title="Править" href="/w/index.php?title=Java&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Википедия (ru)"> <link rel="EditURI" type="application/rsd+xml" href="//ru.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://ru.wikipedia.org/wiki/Java"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ru"> <link rel="alternate" type="application/atom+xml" title="Википедия — Atom-лента" href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%B2%D0%B5%D0%B6%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Java rootpage-Java 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 mw-first-heading"><span class="mw-page-title-main">Java</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">Материал из Википедии — свободной энциклопедии</div> <div id="contentSub"><div id="mw-content-subtitle"><div id="mw-fr-revision-messages"><div class="cdx-message mw-fr-message-box cdx-message--block cdx-message--notice mw-fr-basic mw-fr-draft-not-synced plainlinks noprint"><span class="cdx-message__icon"></span><div class="cdx-message__content">Текущая версия страницы пока <a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9/%D0%9F%D0%BE%D1%8F%D1%81%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BB%D1%8F_%D1%87%D0%B8%D1%82%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9" title="Википедия:Проверка статей/Пояснение для читателей">не проверялась</a> опытными участниками и может значительно отличаться от <a class="external text" href="https://ru.wikipedia.org/w/index.php?title=Java&amp;stable=1">версии, проверенной 21 мая 2024 года</a>; проверки требуют <a class="external text" href="https://ru.wikipedia.org/w/index.php?title=Java&amp;oldid=134243842&amp;diff=cur&amp;diffonly=0">46 правок</a>.</div></div></div></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Перейти к навигации</a> <a class="mw-jump-link" href="#searchInput">Перейти к поиску</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="ru" dir="ltr"><div class="hatnote navigation-not-searchable dabhide">Эта статья&#160;— о&#160;языке программирования. О&#160;прикладной платформе на основе данного языка см.&#160;<a href="/wiki/Java_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0)" title="Java (программная платформа)">Java (программная платформа)</a>.</div> <div class="hatnote navigation-not-searchable dabhide">Не следует путать с <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>.</div> <table class="infobox infobox-99aabbc8f784a185" style="" data-name="Язык программирования"><tbody><tr><th colspan="2" scope="colgroup" class="infobox-above" style="">Java</th></tr><tr><td colspan="2" class="infobox-image" style=""> <span data-wikidata-property-id="P154" class="no-wikidata"><span typeof="mw:File"><a href="/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Java_logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/121px-Java_logo.svg.png" decoding="async" width="121" height="221" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/182px-Java_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/ru/thumb/3/39/Java_logo.svg/242px-Java_logo.svg.png 2x" data-file-width="234" data-file-height="428" /></a></span></span> </td></tr> <tr> <th scope="row" class="plainlist">Класс языка</th> <td class="plainlist"> <div data-wikidata-property-id="P31" class="no-wikidata"> <p><a href="/wiki/Java_Virtual_Machine#Среда_исполнения" title="Java Virtual Machine">язык JVM</a>, <a href="/wiki/%D0%9C%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%B0%D1%80%D0%B0%D0%B4%D0%B8%D0%B3%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Мультипарадигменный язык программирования">мультипарадигменный</a>: <a href="/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Объектно-ориентированное программирование">объектно-ориентированный</a>, <a href="/wiki/%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Аспектно-ориентированное программирование">аспектно-ориентированный</a>, </p> <a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">обобщённый</a>, <a href="/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Отражение (программирование)">рефлективный</a></div></td> </tr> <tr> <th scope="row" class="plainlist">Появился в</th> <td class="plainlist"> <span data-wikidata-claim-id="Q251$3657ba48-4edf-6a66-5273-5fa785e3e6c8" class="wikidata-claim" data-wikidata-property-id="P571"><span class="wikidata-snak wikidata-main-snak"><span class="nowrap"><a href="/wiki/1995_%D0%B3%D0%BE%D0%B4" title="1995 год">1995</a></span></span></span></td> </tr> <tr> <th scope="row" class="plainlist">Автор</th> <td class="plainlist"> <span data-wikidata-claim-id="q251$5c0c3e73-42b5-5d2b-2a12-565b67fc10bb" class="wikidata-claim" data-wikidata-property-id="P287"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%93%D0%BE%D1%81%D0%BB%D0%B8%D0%BD%D0%B3,_%D0%94%D0%B6%D0%B5%D0%B9%D0%BC%D1%81" title="Гослинг, Джеймс">Джеймс Гослинг</a></span></span>&#32;и&#32;<span data-wikidata-claim-id="q251$33581cb9-47b2-d23a-5c05-8913c32f4057" class="wikidata-claim" data-wikidata-property-id="P287"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></span></span></td> </tr> <tr> <th scope="row" class="plainlist">Разработчик</th> <td class="plainlist"> <span data-wikidata-claim-id="q251$D03E0133-2A59-41BB-9FBB-B7801506EA6A" class="wikidata-claim" data-wikidata-property-id="P178"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></span></span>&#32;и&#32;<span data-wikidata-claim-id="q251$e84f27d0-420f-420d-ea73-e179c370fdc3" class="wikidata-claim" data-wikidata-property-id="P178"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Oracle" title="Oracle">Oracle</a></span><sup id="cite_ref-_fd34c11ce3184bd5_1-1" class="reference"><a href="#cite_note-_fd34c11ce3184bd5-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup></span></td> </tr> <tr> <th scope="row" class="plainlist"><a href="/wiki/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0" title="Расширение имени файла">Расширение</a> файлов</th> <td class="plainlist"> <span data-wikidata-property-id="P1195" class="no-wikidata">.java, .class, <a href="/wiki/JAR" title="JAR">.jar</a>, .jad, .jmod, <a href="/wiki/WAR_(%D1%82%D0%B8%D0%BF_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0)" title="WAR (тип файла)">.war</a>, <a href="/wiki/EAR" title="EAR">.ear</a></span></td> </tr> <tr> <th scope="row" class="plainlist"><a href="/wiki/%D0%A1%D1%82%D0%B0%D0%B4%D0%B8%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F" title="Стадии разработки программного обеспечения">Выпуск</a></th> <td class="plainlist"> <span data-wikidata-property-id="P348" class="no-wikidata"><span data-wikidata-property-id="P348" class="no-wikidata">Java SE 23<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup>&#160;(17.09.2024)</span></span></td> </tr> <tr> <th scope="row" class="plainlist">Испытал влияние</th> <td class="plainlist"> <span data-wikidata-claim-id="Q251$57EA6E53-67C3-43DE-BED5-59F76A87C9CD" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/C%2B%2B" title="C++">C++</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$5A73B8E8-EF25-42D0-B6A7-42F8A1E3F5EC" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">Си</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$EF037641-93D8-4563-9104-7EB540ADFFE8" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Ада (язык программирования)">Ада</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$8E7DF780-72BB-4652-A9C2-C74E86CEDA03" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak">Simula 67<sup class="noprint"><a href="https://www.wikidata.org/wiki/Q10371720#sitelinks-wikipedia" class="extiw" title="d:Q10371720"><span>[вд]</span></a></sup></span></span>,&#32;<span data-wikidata-claim-id="Q251$6ACEDF25-C2F7-4B76-A124-E05544615AB8" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Smalltalk" title="Smalltalk"><span lang="Smalltalk">Smalltalk</span></a></span></span>,&#32;<span data-wikidata-claim-id="Q251$8503bd73-48c2-ffea-6643-e3a8cfee2696" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Objective-C" title="Objective-C">Objective-C</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$d6d4b282-4a16-8293-e2a5-38b8ff7c7e87" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Object_Pascal" title="Object Pascal"><span lang="Object Pascal">Object Pascal</span></a></span></span>,&#32;<span data-wikidata-claim-id="Q251$aa02500a-4c5c-f037-0226-85d1002222db" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Оберон (язык программирования)">Оберон</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$217c9d7d-4107-1d7a-7bf1-1a5e7ba90888" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/Eiffel" title="Eiffel">Eiffel</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$292144d2-47ad-1c6a-4377-378ba3786792" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B0-3" title="Модула-3">Модула-3</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$60007f14-43e6-80e0-7e31-27bbd1bb3542" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak">Mesa<sup class="noprint"><a href="https://www.wikidata.org/wiki/Q1042397#sitelinks-wikipedia" class="extiw" title="d:Q1042397"><span>[вд]</span></a></sup></span></span>,&#32;<span data-wikidata-claim-id="Q251$ddc01ad8-455b-9986-5328-e83632c0b215" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0" title="Симула">Симула</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$04bff15a-ecb7-4f99-986b-9ad0ca31e72e" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/C_Sharp" title="C Sharp">C#</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$80dc9a8a-46f2-2f97-6e8d-ab07f3d43577" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/UCSD_Pascal" title="UCSD Pascal">UCSD Pascal</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$3580add1-7ab4-4e36-9f05-0ee5d58b1770" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak">обёртка<sup class="noprint"><a href="https://www.wikidata.org/wiki/Q1861094#sitelinks-wikipedia" class="extiw" title="d:Q1861094"><span>[вд]</span></a></sup></span></span>,&#32;<span data-wikidata-claim-id="Q251$b773c9e1-7796-4647-8354-1f585f9cf42a" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%92%D0%B0%D1%80%D0%B8%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F" title="Вариативная функция">Вариативная функция</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$c5c7072e-f421-498c-b7f8-4418beab396d" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)" title="Аннотация (Java)">аннотация Java</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$86a78477-88cf-42b8-a6a5-b349e572892a" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/%D0%92%D0%B8%D1%80%D1%82,_%D0%9D%D0%B8%D0%BA%D0%BB%D0%B0%D1%83%D1%81" title="Вирт, Никлаус">Никлаус Вирт</a></span></span>,&#32;<span data-wikidata-claim-id="Q251$04e96ac1-303a-465b-95f9-161a79a89c55" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak"><style data-mw-deduplicate="TemplateStyles:r138326222">.mw-parser-output .ts-Wikidata-redLink a{background:none;padding:0}.mw-parser-output .ts-Wikidata-redLink a.external{color:#ba0000;color:var(--color-link-red,#ba0000)}.mw-parser-output .ts-Wikidata-redLink a.external:visited{color:#a55858;color:var(--color-link-red--visited,#a55858)}</style><span class="ts-Wikidata-redLink plainlinks"><a class="external text" href="https://ru.wikipedia.org/w/index.php?title=%D0%9F%D0%B0%D1%82%D1%80%D0%B8%D0%BA_%D0%9D%D0%BE%D1%82%D0%BE%D0%BD&amp;action=edit&amp;editintro=T:Нет_статьи/editintro&amp;preload=T:Нет_статьи/preload&amp;preloadparams%5B%5D=Q3369731&amp;preloadparams%5B%5D=%D0%9F%D0%B0%D1%82%D1%80%D0%B8%D0%BA+%D0%9D%D0%BE%D1%82%D0%BE%D0%BD&amp;preloadparams%5B%5D=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0">Патрик Нотон</a></span><sup class="noprint"><a href="https://www.wikidata.org/wiki/Q3369731#sitelinks-wikipedia" class="extiw" title="d:Q3369731"><span>[вд]</span></a></sup></span></span>&#32;и&#32;<span data-wikidata-claim-id="Q251$465d55a9-45fc-48c8-a4a5-c32aa141f049" class="wikidata-claim" data-wikidata-property-id="P737"><span class="wikidata-snak wikidata-main-snak">foreach<sup class="noprint"><a href="https://www.wikidata.org/wiki/Q3273595#sitelinks-wikipedia" class="extiw" title="d:Q3273595"><span>[вд]</span></a></sup></span></span></td> </tr> <tr> <th scope="row" class="plainlist">Повлиял на</th> <td class="plainlist"> <a href="/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Ада (язык программирования)">Ada</a>, <a href="/wiki/C_Sharp" title="C Sharp">C#</a>, <a href="/wiki/Chapel_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Chapel (язык программирования)">Chapel</a>, <a href="/wiki/Clojure" title="Clojure">Clojure</a>, <a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a>, <a href="/wiki/Fantom" title="Fantom">Fantom</a>, <a href="/wiki/Gambas" title="Gambas">Gambas</a>, <a href="/wiki/Groovy" title="Groovy">Groovy</a>, <a href="/wiki/Hack_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Hack (язык программирования)">Hack</a>, <a href="/wiki/Haxe" title="Haxe">Haxe</a>, <a href="/wiki/Visual_J_Sharp" title="Visual J Sharp">J#</a>, <a href="/wiki/Kotlin" title="Kotlin">Kotlin</a>, <a href="/wiki/PHP" title="PHP">PHP</a>, <a href="/wiki/Python" title="Python">Python</a>, <a href="/wiki/Scala_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Scala (язык программирования)">Scala</a>, <a href="/wiki/Seed7" title="Seed7">Seed7</a>, <a href="/wiki/Vala" title="Vala">Vala</a>, <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></td> </tr> <tr> <th scope="row" class="plainlist"><a href="/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5" title="Лицензия на программное обеспечение">Лицензия</a></th> <td class="plainlist"> <span data-wikidata-claim-id="q251$85096891-D4C1-4645-BD20-620DD0F28AC8" class="wikidata-claim" data-wikidata-property-id="P275"><span class="wikidata-snak wikidata-main-snak"><a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU GPL</a></span><sup id="cite_ref-_48acebb557b8c2b7_3-0" class="reference"><a href="#cite_note-_48acebb557b8c2b7-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup></span></td> </tr> <tr> <th scope="row" class="plainlist">Сайт</th> <td class="plainlist"> <span data-wikidata-property-id="P856" class="no-wikidata"><a rel="nofollow" class="external text" href="https://www.oracle.com/ru/java/">oracle.com/ru/java/</a></span></td> </tr><tr><td colspan="2" class="infobox-below" style=";"><span data-wikidata-claim-id="Q251$284D6796-0023-4F3B-BBF6-965CCBE39FDD" class="wikidata-claim" data-wikidata-property-id="P373"><span class="wikidata-snak wikidata-main-snak"><span typeof="mw:File"><a href="https://commons.wikimedia.org/wiki/Category:Java_(programming_language)" title="commons:Category:Java (programming language)"><img alt="Логотип Викисклада" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/15px-Commons-logo.svg.png" decoding="async" width="15" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/23px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span>&#160;<a href="https://commons.wikimedia.org/wiki/Category:Java_(programming_language)" class="extiw" title="commons:Category:Java (programming language)">Медиафайлы на Викискладе</a></span></span></td></tr> </tbody></table> <p><b>Java</b><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>прим. 1<span class="cite-bracket">&#93;</span></a></sup>&#160;— <a href="/wiki/%D0%A1%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B8_%D1%81%D0%BB%D0%B0%D0%B1%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" title="Сильная и слабая типизация">строго</a> <a href="/wiki/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" title="Статическая типизация">типизированный</a> <a href="/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Объектно-ориентированный язык программирования">объектно-ориентированный язык программирования</a> общего назначения, разработанный компанией <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> (в последующем приобретённой компанией <a href="/wiki/Oracle" title="Oracle">Oracle</a>). Разработка ведётся сообществом, организованным через <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a>; язык и основные реализующие его технологии распространяются по лицензии <a href="/wiki/GPL" class="mw-redirect" title="GPL">GPL</a>. Права на <a href="/wiki/%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%B0%D1%80%D0%BA%D0%B0" class="mw-redirect" title="Торговая марка">торговую марку</a> принадлежат корпорации <a href="/wiki/Oracle" title="Oracle">Oracle</a>. </p><p>Приложения Java обычно <a href="/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%82%D0%BE%D1%80" title="Транслятор">транслируются</a> в специальный <a href="/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4" title="Байт-код">байт-код</a>, поэтому они могут работать на любой <a href="/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mw-redirect" title="Компьютерная архитектура">компьютерной архитектуре</a>, для которой существует реализация <a href="/wiki/Java_Virtual_Machine" title="Java Virtual Machine">виртуальной Java-машины</a>. Дата официального выпуска&#160;— 23 мая 1995&#160;года. Java занимает высокие места в рейтингах популярности языков программирования (2-е место в рейтингах <a href="/wiki/IEEE_Spectrum" title="IEEE Spectrum">IEEE Spectrum</a> (2020)<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> и <a href="/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_TIOBE" title="Индекс TIOBE">TIOBE</a> (2021<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup>). </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="ru" dir="ltr"><h2 id="mw-toc-heading">Содержание</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#История_создания"><span class="tocnumber">1</span> <span class="toctext">История создания</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Основные_особенности_языка"><span class="tocnumber">2</span> <span class="toctext">Основные особенности языка</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#История_версий"><span class="tocnumber">3</span> <span class="toctext">История версий</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#JDK_1.0"><span class="tocnumber">3.1</span> <span class="toctext">JDK 1.0</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#JDK_1.1"><span class="tocnumber">3.2</span> <span class="toctext">JDK 1.1</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#J2SE_1.2"><span class="tocnumber">3.3</span> <span class="toctext">J2SE 1.2</span></a></li> <li class="toclevel-2 tocsection-7"><a href="#J2SE_1.3"><span class="tocnumber">3.4</span> <span class="toctext">J2SE 1.3</span></a></li> <li class="toclevel-2 tocsection-8"><a href="#J2SE_1.4"><span class="tocnumber">3.5</span> <span class="toctext">J2SE 1.4</span></a></li> <li class="toclevel-2 tocsection-9"><a href="#J2SE_5.0"><span class="tocnumber">3.6</span> <span class="toctext">J2SE 5.0</span></a></li> <li class="toclevel-2 tocsection-10"><a href="#Java_SE_6"><span class="tocnumber">3.7</span> <span class="toctext">Java SE 6</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#JavaFX"><span class="tocnumber">3.8</span> <span class="toctext">JavaFX</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#Java_ME_Embedded"><span class="tocnumber">3.9</span> <span class="toctext">Java ME Embedded</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#Java_SE_7"><span class="tocnumber">3.10</span> <span class="toctext">Java SE 7</span></a> <ul> <li class="toclevel-3 tocsection-14"><a href="#Список_нововведений"><span class="tocnumber">3.10.1</span> <span class="toctext">Список нововведений</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-15"><a href="#Java_SE_8"><span class="tocnumber">3.11</span> <span class="toctext">Java SE 8</span></a> <ul> <li class="toclevel-3 tocsection-16"><a href="#Список_нововведений_2"><span class="tocnumber">3.11.1</span> <span class="toctext">Список нововведений</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-17"><a href="#Java_SE_9"><span class="tocnumber">3.12</span> <span class="toctext">Java SE 9</span></a> <ul> <li class="toclevel-3 tocsection-18"><a href="#Список_нововведений_3"><span class="tocnumber">3.12.1</span> <span class="toctext">Список нововведений</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-19"><a href="#Java_SE_10"><span class="tocnumber">3.13</span> <span class="toctext">Java SE 10</span></a> <ul> <li class="toclevel-3 tocsection-20"><a href="#Список_нововведений_4"><span class="tocnumber">3.13.1</span> <span class="toctext">Список нововведений</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-21"><a href="#Java_SE_11"><span class="tocnumber">3.14</span> <span class="toctext">Java SE 11</span></a> <ul> <li class="toclevel-3 tocsection-22"><a href="#Список_нововведений_5"><span class="tocnumber">3.14.1</span> <span class="toctext">Список нововведений</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-23"><a href="#Java_SE_12"><span class="tocnumber">3.15</span> <span class="toctext">Java SE 12</span></a> <ul> <li class="toclevel-3 tocsection-24"><a href="#Изменения"><span class="tocnumber">3.15.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-25"><a href="#Java_SE_13"><span class="tocnumber">3.16</span> <span class="toctext">Java SE 13</span></a> <ul> <li class="toclevel-3 tocsection-26"><a href="#Изменения_2"><span class="tocnumber">3.16.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-27"><a href="#Java_SE_14"><span class="tocnumber">3.17</span> <span class="toctext">Java SE 14</span></a> <ul> <li class="toclevel-3 tocsection-28"><a href="#Изменения_3"><span class="tocnumber">3.17.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-29"><a href="#Java_SE_15"><span class="tocnumber">3.18</span> <span class="toctext">Java SE 15</span></a> <ul> <li class="toclevel-3 tocsection-30"><a href="#Изменения_4"><span class="tocnumber">3.18.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-31"><a href="#Java_SE_16"><span class="tocnumber">3.19</span> <span class="toctext">Java SE 16</span></a> <ul> <li class="toclevel-3 tocsection-32"><a href="#Изменения_5"><span class="tocnumber">3.19.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-33"><a href="#Java_SE_17"><span class="tocnumber">3.20</span> <span class="toctext">Java SE 17</span></a> <ul> <li class="toclevel-3 tocsection-34"><a href="#Изменения_6"><span class="tocnumber">3.20.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-35"><a href="#Java_SE_18"><span class="tocnumber">3.21</span> <span class="toctext">Java SE 18</span></a> <ul> <li class="toclevel-3 tocsection-36"><a href="#Изменения_7"><span class="tocnumber">3.21.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-37"><a href="#Java_SE_19"><span class="tocnumber">3.22</span> <span class="toctext">Java SE 19</span></a> <ul> <li class="toclevel-3 tocsection-38"><a href="#Изменения_8"><span class="tocnumber">3.22.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-39"><a href="#Java_SE_20"><span class="tocnumber">3.23</span> <span class="toctext">Java SE 20</span></a> <ul> <li class="toclevel-3 tocsection-40"><a href="#Изменения_9"><span class="tocnumber">3.23.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-41"><a href="#Java_SE_21"><span class="tocnumber">3.24</span> <span class="toctext">Java SE 21</span></a> <ul> <li class="toclevel-3 tocsection-42"><a href="#Изменения_10"><span class="tocnumber">3.24.1</span> <span class="toctext">Изменения</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-43"><a href="#Классификация_платформ_Java"><span class="tocnumber">4</span> <span class="toctext">Классификация платформ Java</span></a></li> <li class="toclevel-1 tocsection-44"><a href="#Java_и_Microsoft"><span class="tocnumber">5</span> <span class="toctext">Java и Microsoft</span></a></li> <li class="toclevel-1 tocsection-45"><a href="#Java_и_Android"><span class="tocnumber">6</span> <span class="toctext">Java и Android</span></a></li> <li class="toclevel-1 tocsection-46"><a href="#Применения_платформы_Java"><span class="tocnumber">7</span> <span class="toctext">Применения платформы Java</span></a> <ul> <li class="toclevel-2 tocsection-47"><a href="#Производительность"><span class="tocnumber">7.1</span> <span class="toctext">Производительность</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-48"><a href="#Основные_возможности"><span class="tocnumber">8</span> <span class="toctext">Основные возможности</span></a></li> <li class="toclevel-1 tocsection-49"><a href="#Основные_идеи"><span class="tocnumber">9</span> <span class="toctext">Основные идеи</span></a> <ul> <li class="toclevel-2 tocsection-50"><a href="#Примитивные_типы"><span class="tocnumber">9.1</span> <span class="toctext">Примитивные типы</span></a> <ul> <li class="toclevel-3 tocsection-51"><a href="#Преобразования_при_математических_операциях"><span class="tocnumber">9.1.1</span> <span class="toctext">Преобразования при математических операциях</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-52"><a href="#Объектные_переменные,_объекты,_ссылки_и_указатели"><span class="tocnumber">9.2</span> <span class="toctext">Объектные переменные, объекты, ссылки и указатели</span></a> <ul> <li class="toclevel-3 tocsection-53"><a href="#Дублирование_ссылок_и_клонирование"><span class="tocnumber">9.2.1</span> <span class="toctext">Дублирование ссылок и клонирование</span></a></li> <li class="toclevel-3 tocsection-54"><a href="#Инициализация_переменных"><span class="tocnumber">9.2.2</span> <span class="toctext">Инициализация переменных</span></a></li> <li class="toclevel-3 tocsection-55"><a href="#Сборка_мусора"><span class="tocnumber">9.2.3</span> <span class="toctext">Сборка мусора</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-56"><a href="#Классы_и_функции"><span class="tocnumber">9.3</span> <span class="toctext">Классы и функции</span></a> <ul> <li class="toclevel-3 tocsection-57"><a href="#Конструкторы"><span class="tocnumber">9.3.1</span> <span class="toctext">Конструкторы</span></a></li> <li class="toclevel-3 tocsection-58"><a href="#Статические_методы_и_поля"><span class="tocnumber">9.3.2</span> <span class="toctext">Статические методы и поля</span></a></li> <li class="toclevel-3 tocsection-59"><a href="#Завершённость_(final)"><span class="tocnumber">9.3.3</span> <span class="toctext">Завершённость (final)</span></a></li> <li class="toclevel-3 tocsection-60"><a href="#Абстрактность"><span class="tocnumber">9.3.4</span> <span class="toctext">Абстрактность</span></a></li> <li class="toclevel-3 tocsection-61"><a href="#Интерфейсы"><span class="tocnumber">9.3.5</span> <span class="toctext">Интерфейсы</span></a> <ul> <li class="toclevel-4 tocsection-62"><a href="#Маркерные_интерфейсы"><span class="tocnumber">9.3.5.1</span> <span class="toctext">Маркерные интерфейсы</span></a></li> </ul> </li> <li class="toclevel-3 tocsection-63"><a href="#Шаблоны_в_Java_(generics)"><span class="tocnumber">9.3.6</span> <span class="toctext">Шаблоны в Java (generics)</span></a></li> <li class="toclevel-3 tocsection-64"><a href="#Проверка_принадлежности_к_классу"><span class="tocnumber">9.3.7</span> <span class="toctext">Проверка принадлежности к классу</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-65"><a href="#Обработка_ошибок"><span class="tocnumber">9.4</span> <span class="toctext">Обработка ошибок</span></a></li> <li class="toclevel-2 tocsection-66"><a href="#Пространство_имён"><span class="tocnumber">9.5</span> <span class="toctext">Пространство имён</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-67"><a href="#Примеры_программ"><span class="tocnumber">10</span> <span class="toctext">Примеры программ</span></a></li> <li class="toclevel-1 tocsection-68"><a href="#Средства_разработки_ПО"><span class="tocnumber">11</span> <span class="toctext">Средства разработки ПО</span></a></li> <li class="toclevel-1 tocsection-69"><a href="#См._также"><span class="tocnumber">12</span> <span class="toctext">См. также</span></a></li> <li class="toclevel-1 tocsection-70"><a href="#Примечания"><span class="tocnumber">13</span> <span class="toctext">Примечания</span></a> <ul> <li class="toclevel-2 tocsection-71"><a href="#Комментарии"><span class="tocnumber">13.1</span> <span class="toctext">Комментарии</span></a></li> <li class="toclevel-2 tocsection-72"><a href="#Документация"><span class="tocnumber">13.2</span> <span class="toctext">Документация</span></a></li> <li class="toclevel-2 tocsection-73"><a href="#Источники"><span class="tocnumber">13.3</span> <span class="toctext">Источники</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-74"><a href="#Литература"><span class="tocnumber">14</span> <span class="toctext">Литература</span></a></li> <li class="toclevel-1 tocsection-75"><a href="#Ссылки"><span class="tocnumber">15</span> <span class="toctext">Ссылки</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="История_создания"><span id=".D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D1.81.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D1.8F"></span>История создания</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=1" title="Редактировать раздел «История создания»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=1" title="Редактировать код раздела «История создания»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:James_Gosling_2008.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/220px-James_Gosling_2008.jpg" decoding="async" width="220" height="221" class="mw-file-element" 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><figcaption><a href="/wiki/%D0%93%D0%BE%D1%81%D0%BB%D0%B8%D0%BD%D0%B3,_%D0%94%D0%B6%D0%B5%D0%B9%D0%BC%D1%81" title="Гослинг, Джеймс">Джеймс Гослинг</a></figcaption></figure> <p>Изначально язык назывался Oak («Дуб»), разрабатывался <a href="/wiki/%D0%93%D0%BE%D1%81%D0%BB%D0%B8%D0%BD%D0%B3,_%D0%94%D0%B6%D0%B5%D0%B9%D0%BC%D1%81" title="Гослинг, Джеймс">Джеймсом Гослингом</a> для программирования бытовых электронных устройств. Из-за того, что язык с таким названием уже существовал, Oak был переименован в Java<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup>. Назван в честь марки <a href="/wiki/%D0%9A%D0%BE%D1%84%D0%B5" title="Кофе">кофе</a> Java, которая, в свою очередь, получила наименование одноимённого острова (<a href="/wiki/%D0%AF%D0%B2%D0%B0" title="Ява">Ява</a>), поэтому на официальной эмблеме языка изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с <a href="/wiki/%D0%90%D0%BB%D0%BB%D1%8E%D0%B7%D0%B8%D1%8F" title="Аллюзия">аллюзией</a> на кофемашину как пример бытового устройства, для программирования которого изначально язык создавался. В соответствии с этимологией в русскоязычной литературе с конца двадцатого и до первых лет двадцать первого века название языка нередко переводилось как Ява, а не транскрибировалось. </p><p>В результате работы проекта мир увидел принципиально новое устройство, <a href="/wiki/%D0%9A%D0%B0%D1%80%D0%BC%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80" title="Карманный персональный компьютер">карманный персональный компьютер</a> Star7<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup>, который опередил своё время более чем на 10 лет, но из-за большой стоимости в 50 долларов не смог произвести переворот в мире технологии и был забыт. </p><p>Устройство Star7 не пользовалось популярностью, в отличие от языка программирования Java и его окружения. Следующим этапом жизни языка стала разработка интерактивного телевидения. Однако в 1994&#160;году стало очевидным, что интерактивное телевидение было ошибкой. </p><p>С середины 1990-х годов язык стал широко использоваться для написания клиентских приложений и <a href="/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)" title="Сервер (программное обеспечение)">серверного</a> программного обеспечения. Тогда же определённое распространение получила технология <a href="/wiki/Java-%D0%B0%D0%BF%D0%BF%D0%BB%D0%B5%D1%82" title="Java-апплет">Java-апплетов</a>&#160;— графических Java-приложений, встраиваемых в веб-страницы; с развитием возможностей <a href="/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%81%D0%B0%D0%B9%D1%82" title="Динамический сайт">динамических веб-страниц</a> в 2000-е годы технология стала применяться редко. </p><p>В <a href="/wiki/%D0%92%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" title="Веб-разработка">веб-разработке</a> применяется <a href="/wiki/Spring_Framework" title="Spring Framework">Spring Framework</a>; для документирования используется утилита <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Основные_особенности_языка"><span id=".D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.BE.D1.81.D0.BE.D0.B1.D0.B5.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D0.B8_.D1.8F.D0.B7.D1.8B.D0.BA.D0.B0"></span>Основные особенности языка</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=2" title="Редактировать раздел «Основные особенности языка»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=2" title="Редактировать код раздела «Основные особенности языка»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Программы на Java <a href="/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%82%D0%BE%D1%80" title="Транслятор">транслируются</a> в <a href="/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4_Java" title="Байт-код Java">байт-код Java</a>, выполняемый <a href="/wiki/Java_Virtual_Machine" title="Java Virtual Machine">виртуальной машиной Java</a> (JVM)&#160;— программой, обрабатывающей байтовый код и передающей инструкции оборудованию как <a href="/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80" title="Интерпретатор">интерпретатор</a>. </p> <figure typeof="mw:File/Thumb"><a href="/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Duke_(Java_mascot)_waving.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Duke_%28Java_mascot%29_waving.svg/150px-Duke_%28Java_mascot%29_waving.svg.png" decoding="async" width="150" height="270" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Duke_%28Java_mascot%29_waving.svg/225px-Duke_%28Java_mascot%29_waving.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Duke_%28Java_mascot%29_waving.svg/300px-Duke_%28Java_mascot%29_waving.svg.png 2x" data-file-width="226" data-file-height="407" /></a><figcaption>Дюк&#160;— талисман Java</figcaption></figure> <p>Достоинством подобного способа выполнения программ является полная независимость байт-кода от <a href="/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" title="Операционная система">операционной системы</a> и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание. </p><p>Часто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований немного увеличил скорость выполнения программ на Java: </p> <ul><li>применение технологии трансляции <a href="/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4_Java" title="Байт-код Java">байт-кода</a> в <a href="/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" title="Машинный код">машинный код</a> непосредственно во время работы программы (<a href="/wiki/JIT" class="mw-redirect" title="JIT">JIT</a>-технология) с возможностью сохранения версий класса в машинном коде,</li> <li>обширное использование <a href="/wiki/%D0%9F%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mw-redirect" title="Платформенно-ориентированный код">платформенно-ориентированного кода</a> (native-код) в стандартных библиотеках,</li> <li>аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология <a href="/wiki/Jazelle" title="Jazelle">Jazelle</a>, поддерживаемая некоторыми процессорами <a href="/wiki/ARM_(%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)" title="ARM (архитектура)">архитектуры ARM</a>).</li></ul> <p>По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, но при этом в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее<sup id="cite_ref-slow_java_9-0" class="reference"><a href="#cite_note-slow_java-9"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup>. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10—30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией <a href="/wiki/Google_(%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F)" title="Google (компания)">Google</a>, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на <a href="/wiki/C%2B%2B" title="C++">C++</a><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup>. </p><p>Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup>. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры <a href="/wiki/Common_Language_Infrastructure" title="Common Language Infrastructure">CLI</a>, заложенной в основу платформы <a href="/wiki/.NET_Framework" title=".NET Framework">.NET</a> компанией <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a>. </p> <div class="mw-heading mw-heading2"><h2 id="История_версий"><span id=".D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D0.B9"></span>История версий</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=3" title="Редактировать раздел «История версий»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=3" title="Редактировать код раздела «История версий»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hatnote navigation-not-searchable">Основная статья: <b><a href="/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9_Java" class="mw-disambig" title="История версий Java">История версий Java</a></b></div> <style data-mw-deduplicate="TemplateStyles:r137874932">.mw-parser-output .ambox{border:1px solid var(--border-color-base,#a2a9b1);border-left:10px solid #36c;background:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;margin:0 10%}html body.mediawiki.skin-minerva .mw-parser-output .ambox{border-width:0 0 0 4px}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid var(--border-color-error,#b32424);background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output .ambox-delete{border-left:10px solid var(--border-color-error,#b32424)}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid var(--color-warning,#edab00)}.mw-parser-output .ambox-good{border-left:10px solid #66cc44}.mw-parser-output .ambox-discussion{border-left:10px solid #339966}.mw-parser-output .ambox-merge{border-left:10px solid #9932cc}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}.mw-parser-output .ambox .mbox-textsmall-div{font-size:90%}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(max-width:1366px){.mw-parser-output .ambox{margin-left:6%;margin-right:6%}}@media(max-width:719px){.mw-parser-output .ambox{margin-left:0;margin-right:0}}</style><table class="mbox-Взвешенность plainlinks metadata ambox ambox-content" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Commons-emblem-scales.svg/40px-Commons-emblem-scales.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Commons-emblem-scales.svg/60px-Commons-emblem-scales.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Commons-emblem-scales.svg/80px-Commons-emblem-scales.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-div">Этот раздел нужно проверить на соответствие <b>критериям <a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%92%D0%B7%D0%B2%D0%B5%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B8%D0%B7%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" title="Википедия:Взвешенность изложения">взвешенности изложения</a></b>.</div><div class="mbox-textsmall-div hide-when-compact"><span class="hide-when-compact"> Возможно, содержание статьи нарушает принцип взвешенного изложения, представляя малозначимые мнения и факты так же, как и более важные, либо уделяет слишком много места описанию какого-то одного аспекта темы в ущерб другим, не менее существенным. Пожалуйста, улучшите её в соответствии с <a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0_%D0%B8_%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F" class="mw-redirect" title="Википедия:Правила и указания">правилами написания статей</a>.</span> <span class="mbox-date"><i>(<span class="date">17 января 2024</span>)</i></span></div></td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="JDK_1.0">JDK 1.0</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=4" title="Редактировать раздел «JDK 1.0»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=4" title="Редактировать код раздела «JDK 1.0»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Разработка Java началась в 1990&#160;году, первая официальная версия&#160;— Java 1.0,&#160;— была выпущена только 21 января 1996&#160;года. </p> <div class="mw-heading mw-heading3"><h3 id="JDK_1.1">JDK 1.1</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=5" title="Редактировать раздел «JDK 1.1»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=5" title="Редактировать код раздела «JDK 1.1»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Вторая версия была выпущена 19 февраля 1997&#160;года<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup>. </p> <ul><li>Библиотека Accessibility.</li> <li><a href="/wiki/Java_2D" title="Java 2D">Java 2D</a>.</li> <li>Поддержка технологии <a href="/wiki/Drag-and-drop" title="Drag-and-drop">drag-and-drop</a>.</li> <li>Полная поддержка <a href="/wiki/Unicode" class="mw-redirect" title="Unicode">Unicode</a>, включая поддержку ввода на японском, китайском и корейском языках.</li> <li>Поддержка воспроизведения аудиофайлов нескольких популярных форматов.</li> <li>Полная поддержка технологии <a href="/wiki/CORBA" title="CORBA">CORBA</a>.</li> <li><a href="/wiki/JIT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80" class="mw-redirect" title="JIT-компилятор">JIT-компилятор</a>, улучшенная производительность.</li> <li>Усовершенствования инструментальных средств JDK, в том числе поддержка профилирования Java-программ.</li></ul> <div class="mw-heading mw-heading3"><h3 id="J2SE_1.2">J2SE 1.2</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=6" title="Редактировать раздел «J2SE 1.2»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=6" title="Редактировать код раздела «J2SE 1.2»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата выпуска&#160;— 8 декабря 1998&#160;года<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup>. Кодовое имя&#160;— Playground. Выпускались книги, например, Beginning Java 2 by Ivor Horton (Mar 1999), фактически по J2SE 1.2 (бывшее название&#160;— Java 2). Вместе с тем, по сей день такие книги публикуются, например: Х.&#160;М.&#160;Дейтел, П. Дж. Дейтел, С.&#160;И.&#160;Сантри. Технологии программирования на Java 2. Распределённые приложения (2011). </p><p>В то время, когда Java 2 была исторически заменена следующими релизами, подобные названия книг дезориентируют в понимании, о какой же версии Java они написаны на самом деле. Если J2SE 1.2 принято считать за Java 2, а авторы книг за Java 2 принимают JDK 7, что приводит к путанице. </p> <div class="mw-heading mw-heading3"><h3 id="J2SE_1.3">J2SE 1.3</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=7" title="Редактировать раздел «J2SE 1.3»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=7" title="Редактировать код раздела «J2SE 1.3»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата выпуска&#160;— 8 мая 2000&#160;года. Кодовое имя&#160;— Kestrel. </p> <div class="mw-heading mw-heading3"><h3 id="J2SE_1.4">J2SE 1.4</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=8" title="Редактировать раздел «J2SE 1.4»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=8" title="Редактировать код раздела «J2SE 1.4»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата выпуска&#160;— 13 февраля 2002&#160;года. Кодовое имя&#160;— Merlin. </p> <div class="mw-heading mw-heading3"><h3 id="J2SE_5.0">J2SE 5.0</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=9" title="Редактировать раздел «J2SE 5.0»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=9" title="Редактировать код раздела «J2SE 5.0»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Спецификация Java 5.0 была выпущена 30 сентября 2004&#160;года, кодовое имя&#160;— Tiger. C этой версии изменена официальная индексация, вместо Java 1.5 правильнее называть Java 5.0. Внутренняя же индексация Sun осталась прежней&#160;— 1.x. Малые изменения теперь включаются без изменения индексации, для этого используется слово «Update» или буква «u», например, Java Development Kit 5.0 Update 22. Предполагается, что в обновления могут входить как исправления ошибок, так и небольшие добавления в API, JVM. </p><p>В данной версии разработчики внесли в язык целый ряд принципиальных дополнений: </p> <ul><li><a href="/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D0%BC%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF" class="mw-redirect" title="Перечислимый тип">Перечислимые типы</a> (<a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;">enum</span>). Ранее отсутствовавшие в Java типы оформлены по аналогии с <a href="/wiki/C%2B%2B" title="C++">C++</a>, но при этом имеют ряд дополнительных возможностей. <ul><li>Перечислимый тип является полноценным классом Java, то есть может иметь конструктор, поля, методы, в том числе&#160;— скрытые и абстрактные.</li> <li>Перечисление может реализовывать <a href="/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_(%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Интерфейс (объектно-ориентированное программирование)">интерфейсы</a>.</li> <li>Для перечислений имеются встроенные методы, дающие возможность получения значений типа по имени, символьных значений, соответствующих именам, преобразования между номером и значением, проверки типа на то, что он является перечислимым.</li></ul></li> <li><a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)" title="Аннотация (Java)">Аннотации</a>&#160;— возможность добавления в текст программы метаданных, непосредственно не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнении. Одновременно выпущен инструментарий для использования аннотированного кода. Одно из применений аннотаций&#160;— упрощение создания тестовых модулей для Java-кода.</li> <li>Средства <a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">обобщённого программирования</a> (<a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;">generics</span>)&#160;— механизм, аналогичный средствам языков <a href="/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Ада (язык программирования)">Ada</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> и <a href="/wiki/Eiffel" title="Eiffel">Eiffel</a> (позже также появились и в C#, принципиально отличаются от шаблонов C++), дающий возможность создавать классы и методы с полями и параметрами произвольного объектного типа. С использованием данного механизма реализованы новые версии коллекций стандартной библиотеки Java.</li> <li>Методы с неопределённым числом параметров.</li> <li>Autoboxing/Unboxing&#160;— автоматическое преобразование между скалярными типами Java и соответствующими типами-обёртками (например, между int&#160;— Integer). Наличие такой возможности сокращает код, поскольку исключает необходимость выполнения явных преобразований типов в очевидных случаях.</li> <li>Разрешён импорт статических полей и методов.</li> <li>В язык введён цикл по коллекции объектов (итератор, <a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;">foreach</span>).</li> <li>Введено использование <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a>-комментариев, которые используются для автоматического оформления документации по комментариям в исходном коде.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_6">Java SE 6</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=10" title="Редактировать раздел «Java SE 6»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=10" title="Редактировать код раздела «Java SE 6»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Релиз версии состоялся 11 декабря 2006&#160;года, кодовое имя&#160;— Mustang. Изменена официальная индексация&#160;— вместо ожидаемой 6.0 версия значится как 6. Малые изменения, как и в Java 5.0, вносятся в обычные обновления версии, например, Java Standard Edition Development Kit 6 Update 27. Внесены следующие изменения: </p> <ul><li>Коллекции&#160;— добавлены интерфейсы для организации: <ul><li><a href="/wiki/%D0%94%D0%B2%D1%83%D1%85%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D1%8F%D1%8F_%D0%BE%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D1%8C" title="Двухсторонняя очередь">двухсторонних очередей</a>, в том числе&#160;— блокирующих себя во время ожидания элемента;</li> <li>множеств и словарей, организовывающих поиск по ближайшему соответствию (Navigable Set/Navigable Map).</li></ul></li></ul> <p>При этом организованы новые классы, реализующие перечисленные интерфейсы<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup>. </p> <ul><li>Добавлена поддержка японского императорского календаря (наряду с уже существующими григорианским и буддийским календарями).</li> <li>Доступны классы-потоки для чтения и передачи сжатых данных, с возможностью передачи их по сети. Сняты ограничения на количество файлов в архиве (ранее&#160;— 64 Кб), длину названия файла (ранее&#160;— 256 символов) и количество одновременно открытых файлов (ранее&#160;— 2000 шт).</li> <li>Организована система управления кэшем и добавлена поддержка параметра «no-cache» в HTTP-запросе.</li> <li>JConsole, графический мониторинг JVM, стала официально поддерживаемой утилитой.</li> <li>Java HTTP Server позволяет создать полноценный HTTP-сервер, с минимально необходимыми функциональными свойствами.</li> <li>Повысилась скорость вычислений на 70&#160;%, скорость операций ввода-вывода возросла в два раза<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Swing&#160;— улучшена работоспособность OpenGL и DirectX; обработка текста на LCD; добавлен GifWriter, для работы с файлами формата <a href="/wiki/GIF" title="GIF">GIF</a>.</li> <li>Исправлено большое количество ошибок.</li></ul> <div class="mw-heading mw-heading3"><h3 id="JavaFX"><a href="/wiki/JavaFX" title="JavaFX">JavaFX</a></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=11" title="Редактировать раздел «JavaFX»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=11" title="Редактировать код раздела «JavaFX»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата выпуска&#160;— 8 октября 2013&#160;года. </p><p>JavaFX 2.2 вошёл в состав Java SE 7 update 6<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup>. С 11-й версии модуль поставляется отдельно от JDK<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading3"><h3 id="Java_ME_Embedded">Java ME Embedded</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=12" title="Редактировать раздел «Java ME Embedded»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=12" title="Редактировать код раздела «Java ME Embedded»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата выпуска&#160;— 10 октября 2013&#160;года. Кодовое имя&#160;— Micro Edition. </p> <div class="mw-heading mw-heading3"><h3 id="Java_SE_7">Java SE 7</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=13" title="Редактировать раздел «Java SE 7»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=13" title="Редактировать код раздела «Java SE 7»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Релиз версии состоялся 28 июля 2011&#160;года, кодовое имя&#160;— Dolphin<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup>. В финальную версию Java Standard Edition 7 не были включены все ранее запланированные изменения. Согласно плану развития (план «Б»)<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup>, включение нововведений будет разбито на две части: Java Standard Edition 7 (без <a href="/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Лямбда-исчисление">лямбда-исчисления</a>, проекта Jigsaw, и части улучшений проекта Coin<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup>) и Java Standard Edition 8 (всё остальное), намеченный на конец 2012&#160;года. </p><p>В новой версии, получившей название Java Standard Edition 7 (Java Platform, Standard Edition 7), помимо исправления большого количества ошибок, было представлено несколько новшеств. Так, например, в качестве эталонной реализации Java Standard Edition 7 использован не проприетарный пакет <a href="/wiki/JDK" class="mw-redirect" title="JDK">JDK</a>, а его открытая реализация <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>, а сам релиз новой версии платформы готовился при тесном сотрудничестве инженеров <a href="/wiki/Oracle" title="Oracle">Oracle</a> с участниками мировой экосистемы Java, комитетом <a href="/wiki/JCP" class="mw-redirect" title="JCP">JCP</a> (Java Community Process) и сообществом <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>. Все поставляемые Oracle бинарные файлы эталонной реализации Java Standard Edition 7 собраны на основе кодовой базы <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>, сама эталонная реализация полностью открыта под лицензией <a href="/wiki/GPLv2" class="mw-redirect" title="GPLv2">GPLv2</a> с исключениями <a href="/wiki/GNU" title="GNU">GNU</a> ClassPath, разрешающими динамическое связывание с проприетарными продуктами. К другим нововведениям относятся: </p> <ul><li>интеграция набора небольших языковых улучшений Java, развиваемых в рамках проекта Coin,</li> <li>добавлена поддержка языков программирования с динамической типизацией, таких, как <a href="/wiki/Ruby" title="Ruby">Ruby</a>, <a href="/wiki/Python" title="Python">Python</a> и <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>,</li> <li>поддержка загрузки классов по <a href="/wiki/URL" title="URL">URL</a>,</li> <li>обновлённый <a href="/wiki/XML" title="XML">XML</a>-стек, включающий <a href="/wiki/JAXP" class="mw-redirect" title="JAXP">JAXP</a> 1.4, <a href="/wiki/JAXB" class="mw-redirect" title="JAXB">JAXB</a> 2.2a и <a href="/wiki/JAX-WS" class="mw-redirect" title="JAX-WS">JAX-WS</a> 2.2 и другие<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <p>За 5 дней до выхода релиза Java Standard Edition 7 было обнаружено несколько серьёзных ошибок в горячей оптимизации циклов, которая включена по умолчанию и приводит виртуальную машину Java к краху. Специалисты Oracle найденные ошибки за столь короткий срок исправить не могли, но пообещали, что они будут исправлены во втором обновлении (Java 7 Update 2) и частично в первом<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Список_нововведений"><span id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BE.D0.BA_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9"></span>Список нововведений</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=14" title="Редактировать раздел «Список нововведений»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=14" title="Редактировать код раздела «Список нововведений»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Поддержка динамически-типизированных языков (InvokeDynamic)&#160;— расширение JVM (семантики байт-кода), языка Java<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> для поддержки динамически-типизированных языков.</li> <li>Строгая проверка class-файлов&#160;— class-файлы версии 51 (Java Standard Edition 7) или более поздней версии должны быть проверены typechecking-верификатором; JVM не должна переключаться на старый верификатор.</li> <li>Изменение синтаксиса языка Java (Project Coin)&#160;— частичные изменения в языке Java, предназначенные для упрощения общих задач программирования: <ul><li>Использование класса <code>String</code><sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>док. 1<span class="cite-bracket">&#93;</span></a></sup> в блоке <code>switch</code>.</li> <li>Закрытие используемых ресурсов в блоке <code>try</code> (try-with-resources)&#160;— работает при использовании интерфейса <code>AutoClosable</code><sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>док. 2<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Объединённая обработка исключений в блоке <code>catch</code> (multi-catch exceptions)&#160;— перечисление обрабатываемых исключений в <code>catch</code> (… | … | …).</li> <li>Повторное выбрасывание исключений (rethrowing exceptions)&#160;— передача возникшего исключения «вверх» по <a href="/wiki/%D0%A1%D1%82%D0%B5%D0%BA_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%BE%D0%B2" title="Стек вызовов">стеку вызовов</a>.</li> <li>Подчёркивания в числовых литералах для лучшего восприятия больших чисел.</li> <li>Изменение вывода типа в Java generic при создании объекта.</li> <li>Использование двоичных чисел (binary literals)&#160;— <a href="/wiki/%D0%9F%D1%80%D0%B5%D1%84%D0%B8%D0%BA%D1%81_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)" class="mw-redirect" title="Префикс (информатика)">префикс</a> <code>0b</code> укажет, что используется двоичное число.</li> <li>Упрощение вызова методов varargs&#160;— уменьшение предупреждений при вызове метода с переменным числом входящих переменных.</li></ul></li> <li>Модификация загрузчика классов (class-loader)&#160;— избежание тупиковых ситуаций в неиерархической топологии загрузки классов.</li> <li>Закрытие ресурсов, открытых <code>URLClassLoader</code><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>док. 3<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Обновление коллекций (JSR 166).</li> <li>Поддержка Unicode 6.0.</li> <li>Отделение языка пользователя и языка пользовательского интерфейса&#160;— обновление обработки языков для отделения локали от языка пользовательского интерфейса.</li> <li>Новые интерфейсы I/O для платформы Java (nio.2).</li> <li>Использование JDBC 4.1 и Rowset 1.1.</li> <li>… (не закончено)</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_8">Java SE 8</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=15" title="Редактировать раздел «Java SE 8»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=15" title="Редактировать код раздела «Java SE 8»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Релиз версии состоялся 19 марта 2014&#160;года. Кодовое имя&#160;— Octopus. </p> <div class="mw-heading mw-heading4"><h4 id="Список_нововведений_2"><span id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BE.D0.BA_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_2"></span>Список нововведений</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=16" title="Редактировать раздел «Список нововведений»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=16" title="Редактировать код раздела «Список нововведений»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Полноценная поддержка <a href="/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" class="mw-redirect" title="Лямбда-выражения">лямбда-выражений</a>.</li> <li>Ключевое слово <code>default</code> в интерфейсах для поддержки функциональности по умолчанию.</li> <li>Статические методы в интерфейсах.</li> <li>Ссылки на методы и конструкторы<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Функциональные интерфейсы (<a href="/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%B8%D0%BA%D0%B0%D1%82" title="Предикат">предикаты</a>, поставщики и&#160;т.&#160;д.)</li> <li>Потоки (stream) для работы с коллекциями.</li> <li>Новый API для работы с датами.</li> <li>… (не закончено)</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_9">Java SE 9</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=17" title="Редактировать раздел «Java SE 9»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=17" title="Редактировать код раздела «Java SE 9»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В связи со сложностями в реализации модульной системы в рамках проекта Jigsaw, релиз версии, первоначально запланированный 22 сентября <a href="/wiki/2016_%D0%B3%D0%BE%D0%B4" title="2016 год">2016&#160;года</a>, несколько раз откладывался: сначала дата была перенесена на 23 марта <a href="/wiki/2017_%D0%B3%D0%BE%D0%B4" title="2017 год">2017&#160;года</a>, потом&#160;— на 27 июля 2017&#160;года, а затем&#160;— на 21 сентября 2017&#160;года<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup>. </p><p>Последняя дата стала официальной датой релиза версии<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Список_нововведений_3"><span id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BE.D0.BA_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_3"></span>Список нововведений</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=18" title="Редактировать раздел «Список нововведений»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=18" title="Редактировать код раздела «Список нововведений»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Интеграция Jigsaw, в рамках которого разработана модульная система для платформы Java 9 и применена к JDK 9<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Обновление Process API для улучшения взаимодействия с процессами операционной системы. Обновление мотивировано тем, что разработчикам зачастую приходилось писать платформозависимый код для таких задач<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Временно экспериментальный<sup id="cite_ref-:0_38-0" class="reference"><a href="#cite_note-:0-38"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">&#91;</span>35<span class="cite-bracket">&#93;</span></a></sup> новый HTTP-клиент с поддержкой <a href="/wiki/HTTP/2" title="HTTP/2">HTTP/2</a> и веб-сокетов; предназначен заменить устаревший класс <code>HttpURLConnection</code><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">&#91;</span>док. 4<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-:0_38-1" class="reference"><a href="#cite_note-:0-38"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Сжатые строки: если содержимое строки позволяет, она может кодироваться в <a href="/wiki/ISO_8859-1" title="ISO 8859-1">Latin-1</a> (один байт на символ); выбор кодировки конкретного экземпляра класса <code>String</code> отображается в значении переменной-<a href="/wiki/%D0%A4%D0%BB%D0%B0%D0%B3_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0)" title="Флаг (компьютерная техника)">флага</a>, которая теперь есть у всех строк.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">&#91;</span>36<span class="cite-bracket">&#93;</span></a></sup></li> <li>Поддержка указанных в <a rel="nofollow" class="external text" href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf">NIST FIPS 202</a> алгоритмов хеширования <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>, кроме SHAKE128 и SHAKE256. Алгоритмы использования SHA-3 в качестве основы для других криптографических функций не реализованы в силу отсутствия соответствующих стандартов<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">&#91;</span>37<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Улучшены средства для пометки <a href="/wiki/Deprecation" title="Deprecation">устаревшего</a> API. В аннотацию <code>@Deprecated</code> добавлен параметр, позволяющий указывать версию программы, с которой использование отмеченного элемента не рекомендуется, а также&#160;— параметр, позволяющий указать, что запланировано удаление элемента в какой-либо из будущих версий<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">&#91;</span>38<span class="cite-bracket">&#93;</span></a></sup>.</li> <li><code>private</code> методы в интерфейсах<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">&#91;</span>39<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Поддержка GTK+ 3 на <a href="/wiki/Linux" title="Linux">Linux</a><sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">&#91;</span>40<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_10">Java SE 10</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=19" title="Редактировать раздел «Java SE 10»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=19" title="Редактировать код раздела «Java SE 10»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата релиза: 20 марта 2018&#160;года<sup id="cite_ref-Java-10-032018_46-0" class="reference"><a href="#cite_note-Java-10-032018-46"><span class="cite-bracket">&#91;</span>41<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Список_нововведений_4"><span id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BE.D0.BA_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_4"></span>Список нововведений</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=20" title="Редактировать раздел «Список нововведений»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=20" title="Редактировать код раздела «Список нововведений»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Официальный частичный список нововведений и план релиза <a rel="nofollow" class="external text" href="http://openjdk.java.net/projects/jdk/10/">расположен на сайте OpenJDK</a>. </p> <ul><li><a href="/wiki/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2" title="Вывод типов">Вывод типов</a> локальных переменных, помеченных с помощью ключевого слова <code>var</code><sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">&#91;</span>42<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Создание прозрачного интерфейса сборщика мусора для упрощения разработки новых сборщиков<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">&#91;</span>43<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Уменьшено время задержек многопоточного сборщика мусора G1 за счёт реализации параллельного полного цикла сборки мусора<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">&#91;</span>44<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Возможность выполнять <a href="/wiki/Callback_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Callback (программирование)">функции обратного вызова</a> на потоках, не делая глобальных блокировок<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">&#91;</span>45<span class="cite-bracket">&#93;</span></a></sup> в рамках всех потоков<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">&#91;</span>46<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Поддержка символов из новых расширений Unicode: cu (тип валюты), fw (первый день недели), rg (двухбуквенные коды стран и регионов), tz (часовой пояс)<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">&#91;</span>47<span class="cite-bracket">&#93;</span></a></sup>.</li> <li><a href="/wiki/HotSpot" title="HotSpot">HotSpot VM</a> теперь может выделять память <a href="/wiki/%D0%9A%D1%83%D1%87%D0%B0_(%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C)" title="Куча (память)">кучи</a> для объектов на альтернативных устройствах <a href="/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C" title="Оперативная память">оперативной памяти</a>, в том числе тех, которые обладают <a href="/wiki/%D0%AD%D0%BD%D0%B5%D1%80%D0%B3%D0%BE%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C" title="Энергонезависимая память">энергонезависимой памятью</a>, как, например, накопители <a href="/wiki/3D_XPoint" title="3D XPoint">Intel Optane Memory</a><sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">&#91;</span>48<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Новый экспериментальный <a href="/wiki/JIT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" title="JIT-компиляция">JIT-компилятор</a> Graal, предоставляющий возможности <a href="/wiki/AOT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" title="AOT-компиляция">Ahead-of-Time</a> компиляции; по умолчанию отключён, работает только на <a href="/wiki/Linux" title="Linux">Linux</a>/x64<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">&#91;</span>49<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Обновление системы нумерации версий Java SE и JDK с целью приближения к схеме управления версиями по времени<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">&#91;</span>50<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_11">Java SE 11</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=21" title="Редактировать раздел «Java SE 11»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=21" title="Редактировать код раздела «Java SE 11»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Официальный частичный список нововведений и план релиза <a rel="nofollow" class="external text" href="http://openjdk.java.net/projects/jdk/11/">расположен на сайте OpenJDK</a>. Дата&#160;релиза&#160;— 25 сентября 2018&#160;года. </p> <div class="mw-heading mw-heading4"><h4 id="Список_нововведений_5"><span id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BE.D0.BA_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_5"></span>Список нововведений</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=22" title="Редактировать раздел «Список нововведений»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=22" title="Редактировать код раздела «Список нововведений»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Обновление системы управления доступом, позволяющее вложенным классам обращаться к закрытым (private) методам и полям внешнего класса (и наоборот) без необходимости создания компилятором промежуточных методов с повышением уровня доступа<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Epsilon&#160;— новый сборщик мусора, собственно сборкой мусора не занимающийся вообще; при использовании Epsilon превышение предела выделяемой памяти приводит к завершению работы JVM<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">&#91;</span>52<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Стандартизирован клиент HTTP с поддержкой HTTP/2, введённый в Java 9 как экспериментальный<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">&#91;</span>53<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Параметры <a href="/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5" title="Лямбда-выражение">лямбда-функций</a> могут быть <a href="/wiki/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2" title="Вывод типов">неявно типизированы</a> путём вывода типов через ключевое слово (<code>var</code>) для унификации с синтаксисом локальных переменных, введённым в JDK 10<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">&#91;</span>54<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Поддержка 10-й версии стандарта <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a><sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">&#91;</span>55<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Поддержка протокола <a href="/wiki/TLS" title="TLS">TLS 1.3</a><sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">&#91;</span>56<span class="cite-bracket">&#93;</span></a></sup>.</li> <li>Экспериментальный масштабируемый сборщик мусора ZGC с низкими задержками. По умолчанию отключён, работает только на <a href="/wiki/Linux" title="Linux">Linux</a>/x64<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">&#91;</span>57<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_12">Java SE 12</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=23" title="Редактировать раздел «Java SE 12»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=23" title="Редактировать код раздела «Java SE 12»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 13 марта 2019&#160;года. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=24" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=24" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>блок <code>switch</code> может использоваться в выражениях присваивания значения переменной;</li> <li>добавлена поддержка 11-й версии стандарта <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a>;</li> <li>сборщик мусора ZGC: добавлена поддержка выгрузки классов;</li> <li>сборщик мусора G1: добавлена экспериментальная возможность размещения <a href="/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_Java#старое_поколение" title="Модель памяти Java">старого поколения</a> <a href="/wiki/%D0%9A%D1%83%D1%87%D0%B0_(%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C)" title="Куча (память)">кучи</a> на альтернативных модулях памяти, например, <span data-interwiki-lang="en" data-interwiki-article="NVDIMM"><a href="/w/index.php?title=NVDIMM&amp;action=edit&amp;redlink=1" class="new" title="NVDIMM (страница отсутствует)">NVDIMM</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/NVDIMM" class="extiw" title="en:NVDIMM"><span title="NVDIMM — версия статьи «NVDIMM» на английском языке">[англ.]</span></a></sup>;</li> <li>в классе NumberFormat добавлена поддержка компактного вывода больших чисел, например: 1K=1000, 1M=1&#160;000&#160;000;</li> <li>устранены некоторые неиспользумые (или признанные <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a> классы и/или их методы, например, класс SecurityWarning из пакета AWT, методы finalize в классах FileInputStream и FileOutputStream<sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">&#91;</span>58<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_13">Java SE 13</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=25" title="Редактировать раздел «Java SE 13»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=25" title="Редактировать код раздела «Java SE 13»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 17 сентября 2019&#160;года<sup id="cite_ref-Java_language_changes_history_64-0" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_2"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_2"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=26" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=26" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>в блоках <code>switch</code> добавлена возможность использования ключевого слова <code>yield</code>, возвращающего указанное за ним значение;</li> <li>для компактной записи строковых констант введена экспериментальная возможность работы с текстовыми блоками, обрамлённых тройками двойных кавычек (""");</li> <li>в классе FileSystems пакета java.nio.file добавлены новые реализации метода newFileSystem;</li> <li>методы get/put класса ByteBuffer пакета java.nio пересылают данные вне зависимости от текущей позиции в буфере передачи;</li> <li>добавлена поддержка <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a> 12.1;</li> <li>сборщик мусора ZGC возвращает более неиспользуемую память <a href="/wiki/%D0%9A%D1%83%D1%87%D0%B0_(%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C)" title="Куча (память)">кучи</a> ОС, при этом максимальный поддерживаемый размер памяти кучи увеличен до 16 <a href="/wiki/%D0%A2%D0%B5%D1%80%D0%B0%D0%B1%D0%B0%D0%B9%D1%82" title="Терабайт">ТБ</a>;</li> <li>в <a href="/wiki/Java_Cryptography_Architecture" title="Java Cryptography Architecture">JCA</a> добавлена возможность чтения приватных ключей в формате <span data-interwiki-lang="en" data-interwiki-article="Microsoft CryptoAPI"><a href="/w/index.php?title=CryptoAPI:_Next_Generation&amp;action=edit&amp;redlink=1" class="new" title="CryptoAPI: Next Generation (страница отсутствует)">CryptoAPI: Next Generation</a></span> (<a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;"><a href="https://en.wikipedia.org/wiki/Microsoft_CryptoAPI" class="extiw" title="en:Microsoft CryptoAPI"><span title="Microsoft CryptoAPI — версия статьи «CryptoAPI: Next Generation» на английском языке">Microsoft CryptoAPI</span></a></span>);</li> <li>для <a href="/wiki/MacOS" title="MacOS">macOS</a> исключена поддержка стиля оформления (look-and-feel) Swing Motif<sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">&#91;</span>60<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_14">Java SE 14</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=27" title="Редактировать раздел «Java SE 14»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=27" title="Редактировать код раздела «Java SE 14»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 17 марта 2020&#160;года<sup id="cite_ref-Java_language_changes_history_64-1" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_3"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_3"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=28" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=28" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>экспериментально введено ключевое слово <code>record</code>&#160;— для обозначения неизменяемых (<code>final</code>) классов, являющихся контейнерами неизменяемых данных (записей);</li> <li>введено сопоставление шаблонов для оператора <code>instanceof</code> в блоках <code>switch</code>;</li> <li>в метках <code>case</code> блоков <code>switch</code> могут использоваться «стрелочные» (-&gt;) операторы;</li> <li>исключён сборщик мусора Concurrent Mark and Sweep (CMS);</li> <li>методы suspend и resume классов Thread и ThreadGroup признаны <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a><sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">&#91;</span>61<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_15">Java SE 15</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=29" title="Редактировать раздел «Java SE 15»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=29" title="Редактировать код раздела «Java SE 15»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 15 сентября 2020&#160;года<sup id="cite_ref-Java_language_changes_history_64-2" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_4"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_4"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=30" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=30" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>добавлена экспериментальная возможность использования запечатанных (<code>sealed</code>) классов/интерфейсов, при объявлении которых с помощью нового ключевого слова <code>permits</code> можно указывать, какие классы/интерфейсы могут наследовать данный запечатанный класс/интерфейс;</li> <li>добавлена возможность использования скрытых (<code>hidden</code>) классов, которые не могут использоваться непосредственно <a href="/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4_Java" title="Байт-код Java">байт-кодом Java</a> или другими классами;</li> <li>в синтаксис языка официально введена экспериментально добавленная в Java 13 возможность работы с текстовыми блоками;</li> <li>добавлена поддержка <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a> 13.0;</li> <li>в классе CharSequence добавлен <code>default</code>-метод isEmpty;</li> <li>в классе TreeMap добавлена возможность перегрузки методов putIfAbsent, computeIfAbsent, computeIfPresent, compute, merge<sup id="cite_ref-67" class="reference"><a href="#cite_note-67"><span class="cite-bracket">&#91;</span>62<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_16">Java SE 16</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=31" title="Редактировать раздел «Java SE 16»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=31" title="Редактировать код раздела «Java SE 16»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 16 марта 2021&#160;года<sup id="cite_ref-Java_language_changes_history_64-3" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_5"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_5"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=32" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=32" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>в синтаксис языка официально введены экспериментально добавленные в Java 14 возможности работы с записями (<code>record</code>) и использования <code>instanceof</code> в блоках <code>switch</code>;</li> <li>добавлен Foreign Linker API, предназначенный для замены механизма <a href="/wiki/Java_Native_Interface" title="Java Native Interface">JNI</a>;</li> <li>добавлен Foreign-Memory Access API, позволяющий Java-приложениям эффективно и безопасно использовать память вне <a href="/wiki/%D0%9A%D1%83%D1%87%D0%B0_(%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C)" title="Куча (память)">кучи</a> Java;</li> <li>добавлено динамическое освобождение <a href="/w/index.php?title=Java_Metaspace&amp;action=edit&amp;redlink=1" class="new" title="Java Metaspace (страница отсутствует)">Metaspace</a>&#160;— области памяти, в которой хранится статическая информация Java-приложения (метаданные загруженных классов), и возвращение освобождённой памяти ОС;</li> <li>в <a href="/wiki/Java_Cryptography_Architecture" title="Java Cryptography Architecture">JCA</a> добавлена поддержка алгоритма <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>;</li> <li>в классах SocketChannel и ServerSocketChannel пакета java.nio.channels добавлена поддержка использования <a href="/wiki/%D0%A1%D0%BE%D0%BA%D0%B5%D1%82_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_Unix" title="Сокет домена Unix">сокетов домена Unix</a>;</li> <li>добавлено свойство jdk.tls.maxHandshakeMessageSize, позволяющее задать максимальный размер сообщения рукопожатия для протоколов <a href="/wiki/TLS" title="TLS">TLS</a>/<a href="/wiki/DTLS" title="DTLS">DTLS</a>;</li> <li>в интерфейс Stream добавлен метод toList, позволяющий преобразовывать поток в список;</li> <li>добавлен Vector API, предназначенный для использования возможностей <a href="/wiki/%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B5_%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Векторное исчисление">векторного исчисления</a>;</li> <li>методы stop, destroy, isDestroyed, setDaemon, isDaemon класса ThreadGroup признаны <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a>;</li> <li>сборщик мусора ZGC может производить одновременную обработку <a href="/wiki/%D0%A1%D1%82%D0%B5%D0%BA" title="Стек">стеков</a> разных потоков;</li> <li>сборщик мусора G1 может одновременно освобождать память, занимавшуюся разными потоками<sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_17">Java SE 17</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=33" title="Редактировать раздел «Java SE 17»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=33" title="Редактировать код раздела «Java SE 17»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 14 сентября 2021&#160;года<sup id="cite_ref-Java_language_changes_history_64-4" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_6"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_6"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=34" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=34" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>в синтаксис языка официально введена экспериментально добавленная в Java 15 возможность работы с запечатанными (<code>sealed</code>) классами/интерфейсами;</li> <li>экспериментально расширена возможность использования блоков <code>switch</code>&#160;— в них можно выполнять разные действия в зависимости от того, к какому классу относится указанный объект, то есть метки case могут быть именами классов;</li> <li>в <a href="/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB" title="Генератор псевдослучайных чисел">генераторах псевдослучайных чисел</a> (пакет java.util) добавлены новые алгоритмы/методы генерации;</li> <li>добавлен Foreign Function &amp; Memory API, позволяющий Java-приложениям взаимодействовать с кодом и данными вне <a href="/wiki/Java_Runtime_Environment" title="Java Runtime Environment">среды выполнения Java</a>;</li> <li>в классе Console пакета java.io добавлен метод charset, возвращающий используемый <a href="/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C" title="Системная консоль">консолью</a> набор символов;</li> <li>добавлено новое системное свойство native.encoding, позволяющее узнать обозначение (наименование) кодировки символов базовой среды <a href="/wiki/%D0%A5%D0%BE%D1%81%D1%82" title="Хост">хоста</a>;</li> <li>в пакет java.time добавлен интерфейс InstantSource, позволяющий получать информацию о текущем моменте времени;</li> <li>в пакет java.util добавлен класс HexFormat, позволяющий преобразовывать числа <a href="/wiki/%D0%A8%D0%B5%D1%81%D1%82%D0%BD%D0%B0%D0%B4%D1%86%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F" title="Шестнадцатеричная система счисления">шестнадцатеричной системы счисления</a> в числа других систем счисления (или строки) и обратно;</li> <li>в <a href="/wiki/MacOS" title="MacOS">MacOS</a> <ul><li>добавлена возможность использования нового конвейера <a href="/wiki/%D0%A0%D0%B5%D0%BD%D0%B4%D0%B5%D1%80%D0%B8%D0%BD%D0%B3" title="Рендеринг">рендеринга</a> 2D-графики <a href="/wiki/Swing_(%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0)" title="Swing (библиотека)">Swing</a>&#160;— Apple Metal;</li> <li>интерфейс UserDefinedFileAttributeView пакета java.nio.file.attribute расширен для возможнсти получения доступа к дополнительным атрибутам файлов;</li></ul></li> <li>в классе FileSystemView пакета javax.swing.filechooser добавлен метод getSystemIcon, позволяющий загружать <a href="/wiki/%D0%98%D0%BA%D0%BE%D0%BD%D0%BA%D0%B0_(%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81)" title="Иконка (графический интерфейс)">иконки</a> высокого качества/разрешения;</li> <li>в классе DatagramSocket пакета java.net добавлены методы joinGroup и leaveGroup, предназначенные соответственно для присоединения к группе многоадресной рассылки или выхода из неё;</li> <li>исключён механизм активации <a href="/wiki/RMI" title="RMI">RMI</a>;</li> <li>в <a href="/wiki/Java_Virtual_Machine" title="Java Virtual Machine">виртуальной машине Java</a> <a href="/wiki/HotSpot" title="HotSpot">HotSpot</a> исключён код <a href="/wiki/AOT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" title="AOT-компиляция">AOT-компилятора</a><sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">&#91;</span>64<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_18">Java SE 18</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=35" title="Редактировать раздел «Java SE 18»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=35" title="Редактировать код раздела «Java SE 18»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 22 марта 2022&#160;года<sup id="cite_ref-Java_language_changes_history_64-5" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_7"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_7"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=36" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=36" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>во всех Java SE API кодировка по умолчанию изменена на <a href="/wiki/UTF-8" title="UTF-8">UTF-8</a>;</li> <li>добавлена утилита простого <a href="/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80" title="Веб-сервер">веб-сервера</a> jwebserver, запускаемая из <a href="/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8" title="Интерфейс командной строки">командной строки</a>;</li> <li>улучшена безопасность при использовании методов <a href="/wiki/%D0%A0%D0%B5%D1%84%D0%BB%D0%B5%D0%BA%D1%81%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Рефлексия (программирование)">рефлексии</a>;</li> <li>добавлен интерфейс поставщика услуг для имени <a href="/wiki/%D0%A5%D0%BE%D1%81%D1%82" title="Хост">хоста</a> и разбора <a href="/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B0%D0%B4%D1%80%D0%B5%D1%81" title="Сетевой адрес">сетевого адреса</a>;</li> <li>интерфейс JavaFileManager пакета javax.tools расширен 2 новыми методами&#160;— getJavaFileForOutputForOriginatingFiles и getFileForOutputForOriginatingFiles, которые используются для создания новых файлов на основании указанных исходных файлов; интерфейс Filer пакета javax.annotation.processing использует эти методы при создании новых файлов в той же манере;</li> <li>в класс Charset пакета java.nio.charset добавлена перегрузка метода forName, вторым аргументом которого может указываться наименование резервной кодировки, на случай отсутствия в системе (или невозможности определения) запрашиваемой первым аргументом;</li> <li>признаны <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a> <ul><li>механизмы финализации (методы finalize) разных классов;</li> <li>метод stop класса Thread;</li></ul></li> <li>в сборщике мусора G1 максимальный размер обрабатываемых регионов <a href="/wiki/%D0%9A%D1%83%D1%87%D0%B0_(%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C)" title="Куча (память)">кучи</a> увеличен с 32 до 512 <a href="/wiki/%D0%9C%D0%B5%D0%B3%D0%B0%D0%B1%D0%B0%D0%B9%D1%82" title="Мегабайт">Мб</a>;</li> <li>в сборщиках мусора SerialGC, ParallelGC, ZGC добавлена поддержка <a href="/wiki/%D0%94%D0%B5%D0%B4%D1%83%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F" title="Дедупликация">дедупликации</a><sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">&#91;</span>65<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_19">Java SE 19</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=37" title="Редактировать раздел «Java SE 19»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=37" title="Редактировать код раздела «Java SE 19»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 20 сентября 2022&#160;года<sup id="cite_ref-Java_language_changes_history_64-6" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_8"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_8"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=38" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=38" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>добавлены экспериментальные возможности <ul><li>работы с виртуальными потоками;</li> <li>проверки, является ли передаваемый методу объект записью (<code>record</code>);</li></ul></li> <li>добавлена поддержка <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a> 14.0;</li> <li>в потоках вывода System.out и System.err добавлены новые свойства&#160;— stdout.encoding и stderr.encoding соответственно, которые определяют кодировку символов потока;</li> <li>добавлена поддержка токенов привязки каналов <a href="/wiki/TLS" title="TLS">TLS</a> при аутентификации по протоколам <a href="/wiki/Kerberos" title="Kerberos">Kerberos</a>/<a href="/w/index.php?title=Negotiate&amp;action=edit&amp;redlink=1" class="new" title="Negotiate (страница отсутствует)">Negotiate</a> через <a href="/wiki/HTTPS" title="HTTPS">HTTPS</a>;</li> <li>в классах DateTimeFormatter и DateTimeFormatterBuilder пакета java.time.format добавлены новые возможности определения форматов времени и дат;</li> <li>в классах HashMap, LinkedHashMap, WeakHashMap, HashSet, LinkedHashSet добавлены статические методы, позволяющие создавать новые хэш-таблицы;</li> <li>в классе SSLParameters пакета javax.net.ssl добавлены методы getSignatureSchemes и setSignatureSchemes, позволяющие соответственно получать и задавать схемы проверки <a href="/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C" title="Электронная подпись">электронных цифровых подписей</a> при соединениях по протоколам <a href="/wiki/TLS" title="TLS">TLS</a>/<a href="/wiki/DTLS" title="DTLS">DTLS</a>;</li> <li>изменено действие методов класса ThreadGroup: <ul><li>методы destroy и setDaemon не делают ничего;</li> <li>метод isDestroyed всегда возвращает false;</li> <li>методы suspend, resume и stop всегда выбрасывают <a href="/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9#Исключения" title="Обработка исключений">исключение</a> UnsupportedOperationException;</li></ul></li> <li>конструкторы класса Locale пакета java.util признаны <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a>&#160;— вместо них рекомендуется использовать статический метод of<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">&#91;</span>66<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_20">Java SE 20</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=39" title="Редактировать раздел «Java SE 20»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=39" title="Редактировать код раздела «Java SE 20»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 21 марта 2023&#160;года<sup id="cite_ref-Java_language_changes_history_64-7" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_9"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_9"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=40" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=40" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>при работах с потоками введена экспериментальная возможность использования ограниченных значений (<a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">параметризованный</a> класс ScopedValue), которые могут эффективно и безопасно использоваться разными потоками;</li> <li>добавлена поддержка <a href="/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#Версии_Юникода" title="Юникод">Unicode</a> 15.0;</li> <li>в классе SSLParameters пакета javax.net.ssl добавлены методы getNamedGroups и setNamedGroups, позволяющие в приоритетном порядке настраивать списки групп алгоритмов обмена ключами при соединениях по протоколам <a href="/wiki/TLS" title="TLS">TLS</a>/<a href="/wiki/DTLS" title="DTLS">DTLS</a>;</li> <li>изменено действие методов suspend, resume и stop класса Thread&#160;— они всегда выбрасывают <a href="/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9#Исключения" title="Обработка исключений">исключение</a> UnsupportedOperationException;</li> <li>признаны <a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)#Встроенные_аннотации" title="Аннотация (Java)">устаревшими (deprecated)</a> <ul><li>конструкторы класса URL пакета java.net&#160;— вместо них рекомендуется использовать новый статический метод of этого класса или методы toURL класса URI из того же пакета;</li> <li>используемые в <a href="/wiki/Java-%D0%B0%D0%BF%D0%BF%D0%BB%D0%B5%D1%82" title="Java-апплет">Java-апплетах</a> классы MLet, MLetContent, PrivateMLet, MLetMBean пакета javax.management.loading;</li></ul></li> <li>в сборщике мусора G1 улучшена параллельная обработка потоков<sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">&#91;</span>67<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_SE_21">Java SE 21</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=41" title="Редактировать раздел «Java SE 21»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=41" title="Редактировать код раздела «Java SE 21»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Дата&#160;релиза&#160;— 19 сентября 2023&#160;года<sup id="cite_ref-Java_language_changes_history_64-8" class="reference"><a href="#cite_note-Java_language_changes_history-64"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Изменения_10"><span id=".D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_10"></span>Изменения</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=42" title="Редактировать раздел «Изменения»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=42" title="Редактировать код раздела «Изменения»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>в синтаксис языка официально введены ранее экспериментально добавленные возможности <ul><li>расширения использования блоков <code>switch</code>&#160;— в них можно выполнять разные действия в зависимости от того, к какому классу относится указанный объект, то есть метки case могут быть именами классов (с Java 17);</li> <li>проверки, является ли передаваемый методу объект записью (<code>record</code>) (с Java 19);</li> <li>работы с виртуальными потоками (с Java 19);</li></ul></li> <li>добавлены <a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">параметризованные</a> интерфейсы SequencedCollection, SequencedSet, SequencedMap для работы с коллекциями, в которых чётко определён порядок следования элементов;</li> <li>добавлен Key Encapsulation Mechanism API&#160;— механизм обеспечения надёжной работы с <a href="/wiki/%D0%A1%D0%B8%D0%BC%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B" title="Симметричные криптосистемы">симметричными криптосистемами</a>;</li> <li>добавлены экспериментальные возможности работы <ul><li>со строковыми шаблонами, в которых могут использоваться текстовые блоки;</li> <li>безымянными шаблонами и переменными, обозначемыми символом «_»;</li> <li>с безымянными классами&#160;— внутри java-файла можно без определения имени класса записать определение метода main;</li></ul></li> <li>класс HttpClient пакета java.net.http теперь реализует интерфейс AutoCloseable;</li> <li>в классы Pattern пакета java.util.regex и String добавлены методы splitWithDelimiters, возвращающие строковые массивы, состоящие как из обычных символов, так и символов-разделителей;</li> <li>в классах StringBuilder и StringBuffer добавлены методы repeat, возвращающие повторённые указанное число раз последовательности символов;</li> <li>в классе Character добавлены новые методы работы с символами <a href="/wiki/%D0%AD%D0%BC%D0%BE%D0%B4%D0%B7%D0%B8" title="Эмодзи">эмодзи</a>;</li> <li>в классе ThreadGroup удалён метод allowThreadSuspension;</li> <li>удалён класс Compiler;</li> <li>в сборщике мусора ZGC добавлена раздельная обработка объектов <a href="/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_Java" title="Модель памяти Java">молодого и старого поколений</a><sup id="cite_ref-73" class="reference"><a href="#cite_note-73"><span class="cite-bracket">&#91;</span>68<span class="cite-bracket">&#93;</span></a></sup>.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Классификация_платформ_Java"><span id=".D0.9A.D0.BB.D0.B0.D1.81.D1.81.D0.B8.D1.84.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D1.8F_.D0.BF.D0.BB.D0.B0.D1.82.D1.84.D0.BE.D1.80.D0.BC_Java"></span>Классификация платформ Java</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=43" title="Редактировать раздел «Классификация платформ Java»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=43" title="Редактировать код раздела «Классификация платформ Java»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Внутри Java существует несколько основных семейств технологий: </p> <ul><li><a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a>&#160;— Java Standard Edition&#160;— основное издание Java. Содержит компиляторы, <a href="/wiki/API" title="API">API</a>, <a href="/wiki/Java_Runtime_Environment" title="Java Runtime Environment">Java Runtime Environment</a>; подходит для создания пользовательских приложений, в первую очередь&#160;— для настольных систем.</li> <li><a href="/wiki/Jakarta_EE" title="Jakarta EE">Jakarta EE</a> (ранее&#160;— Java EE (Enterprise Edition)) представляет собой набор спецификаций для создания <a href="/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5" title="Программное обеспечение">ПО</a> уровня предприятия. В 2017-м проект Java EE был передан <a href="/wiki/Eclipse_Foundation" title="Eclipse Foundation">Eclipse Foundation</a>, и тогда же его наименование изменилось на текущее<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">&#91;</span>69<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-75" class="reference"><a href="#cite_note-75"><span class="cite-bracket">&#91;</span>70<span class="cite-bracket">&#93;</span></a></sup>. Модули Java EE удалены из Java SE с 11-й версии<sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">&#91;</span>71<span class="cite-bracket">&#93;</span></a></sup>.</li> <li><a href="/wiki/Java_ME" class="mw-redirect" title="Java ME">Java ME</a>&#160;— Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например, в <a href="/wiki/%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD" class="mw-redirect" title="Мобильный телефон">мобильных телефонах</a>, <a href="/wiki/%D0%9A%D0%B0%D1%80%D0%BC%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80" title="Карманный персональный компьютер">КПК</a>, <a href="/wiki/%D0%92%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" title="Встраиваемая система">встроенных системах</a>;</li> <li><a href="/wiki/Java_Card" title="Java Card">Java Card</a>&#160;— технология предоставляет безопасную среду для приложений, работающих на <a href="/wiki/%D0%A1%D0%BC%D0%B0%D1%80%D1%82-%D0%BA%D0%B0%D1%80%D1%82%D0%B0" title="Смарт-карта">смарт-картах</a> и других устройствах с очень ограниченным объёмом памяти и возможностями обработки.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Java_и_Microsoft"><span id="Java_.D0.B8_Microsoft"></span>Java и Microsoft</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=44" title="Редактировать раздел «Java и Microsoft»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=44" title="Редактировать код раздела «Java и Microsoft»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Компанией <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> была разработана собственная реализация <a href="/wiki/JVM" class="mw-redirect" title="JVM">JVM</a> под названием <span data-interwiki-lang="en" data-interwiki-article="Microsoft Java Virtual Machine"><a href="/w/index.php?title=Microsoft_Java_Virtual_Machine&amp;action=edit&amp;redlink=1" class="new" title="Microsoft Java Virtual Machine (страница отсутствует)">Microsoft Java Virtual Machine</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine" class="extiw" title="en:Microsoft Java Virtual Machine"><span title="Microsoft Java Virtual Machine — версия статьи «Microsoft Java Virtual Machine» на английском языке">[англ.]</span></a></sup> (MSJVM)<sup id="cite_ref-msjvm_77-0" class="reference"><a href="#cite_note-msjvm-77"><span class="cite-bracket">&#91;</span>72<span class="cite-bracket">&#93;</span></a></sup>, включавшаяся в состав различных <a href="/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" title="Операционная система">операционных систем</a>, начиная с <a href="/wiki/Windows_98" title="Windows 98">Windows 98</a> (также входила в <a href="/wiki/Internet_Explorer" title="Internet Explorer">Internet Explorer</a> от версии 3 и выше, что позволяло использовать MSJVM в ОС <a href="/wiki/Windows_95" title="Windows 95">Windows 95</a> и <a href="/wiki/Windows_NT_4.0" title="Windows NT 4.0">Windows NT 4</a> после установки IE3+ на данные ОС). </p><p>MSJVM имела существенные отличия от Sun Java, во многом ломающие основополагающую концепцию переносимости программ между разными платформами: </p> <ul><li>отсутствие поддержки <a href="/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9" class="mw-redirect" title="Интерфейс программирования приложений">программного интерфейса</a> <a href="/wiki/Remote_Procedure_Call" class="mw-redirect" title="Remote Procedure Call">вызова удалённых методов</a> (<a href="/wiki/RMI" title="RMI">RMI</a>);</li> <li>отсутствие поддержки технологии <a href="/wiki/JNI" class="mw-redirect" title="JNI">JNI</a>;</li> <li>наличие нестандартных расширений, таких, как средства интеграции Java и <a href="/wiki/DCOM" title="DCOM">DCOM</a>, работающих только на платформе Windows.</li></ul> <p>Тесная интеграция Java с DCOM и <a href="/wiki/Windows_API" title="Windows API">Win32</a> поставила под вопрос <a href="/wiki/%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" title="Кроссплатформенность">кроссплатформенную</a> парадигму языка. Впоследствии это явилось поводом для судебных исков со стороны <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> к Microsoft. Суд принял сторону компании Sun Microsystems. В конечном счёте между двумя компаниями была достигнута договорённость о возможности продления срока официальной поддержки пользователей нестандартной Microsoft JVM до конца 2007&#160;года<sup id="cite_ref-msjvm_77-1" class="reference"><a href="#cite_note-msjvm-77"><span class="cite-bracket">&#91;</span>72<span class="cite-bracket">&#93;</span></a></sup>. </p><p>В 2005&#160;году компанией Microsoft для платформы <a href="/wiki/.NET_Framework" title=".NET Framework">.NET</a> был представлен Java-подобный язык <a href="/wiki/Visual_J_Sharp" title="Visual J Sharp">J#</a>, не соответствующий официальной спецификации языка Java и исключённый впоследствии из стандартного инструментария разработчика <a href="/wiki/Microsoft_Visual_Studio" title="Microsoft Visual Studio">Microsoft Visual Studio</a>, начиная с Visual Studio 2008<sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">&#91;</span>73<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading2"><h2 id="Java_и_Android"><span id="Java_.D0.B8_Android"></span>Java и Android</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=45" title="Редактировать раздел «Java и Android»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=45" title="Редактировать код раздела «Java и Android»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hatnote navigation-not-searchable">Основная статья: <b><a href="/wiki/Android" title="Android">Android</a></b></div> <p>Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код для использования их виртуальной машиной <a href="/wiki/Dalvik_virtual_machine" class="mw-redirect" title="Dalvik virtual machine">Dalvik</a> (начиная с <a href="/wiki/Android_Lollipop" title="Android Lollipop">Android 5.0 Lollipop</a> виртуальная машина заменена на <a href="/wiki/Android_Runtime" title="Android Runtime">ART</a>). Для такой компиляции используется дополнительный инструмент, а именно Android SDK (<a href="/wiki/SDK" title="SDK">Software Development Kit</a>), разработанный компанией <a href="/wiki/Google_(%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F)" title="Google (компания)">Google</a>. </p><p>Разработку приложений можно вести в среде <a href="/wiki/Android_Studio" title="Android Studio">Android Studio</a>, <a href="/wiki/NetBeans" title="NetBeans">NetBeans</a>, в среде <a href="/wiki/Eclipse_(%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8)" title="Eclipse (среда разработки)">Eclipse</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Применения_платформы_Java"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BF.D0.BB.D0.B0.D1.82.D1.84.D0.BE.D1.80.D0.BC.D1.8B_Java"></span>Применения платформы Java</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=46" title="Редактировать раздел «Применения платформы Java»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=46" title="Редактировать код раздела «Применения платформы Java»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Следующие успешные проекты реализованы с привлечением Java (<a href="/wiki/J2EE" class="mw-redirect" title="J2EE">J2EE</a>) технологий: <a href="/wiki/RuneScape" title="RuneScape">RuneScape</a>, <a href="/wiki/Amazon" title="Amazon">Amazon</a><sup id="cite_ref-79" class="reference"><a href="#cite_note-79"><span class="cite-bracket">&#91;</span>74<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-80" class="reference"><a href="#cite_note-80"><span class="cite-bracket">&#91;</span>75<span class="cite-bracket">&#93;</span></a></sup>, <a href="/wiki/EBay" title="EBay">eBay</a><sup id="cite_ref-81" class="reference"><a href="#cite_note-81"><span class="cite-bracket">&#91;</span>76<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-82" class="reference"><a href="#cite_note-82"><span class="cite-bracket">&#91;</span>77<span class="cite-bracket">&#93;</span></a></sup>, <a href="/wiki/LinkedIn" title="LinkedIn">LinkedIn</a><sup id="cite_ref-83" class="reference"><a href="#cite_note-83"><span class="cite-bracket">&#91;</span>78<span class="cite-bracket">&#93;</span></a></sup>, <a href="/wiki/Yahoo!" title="Yahoo!">Yahoo!</a><sup id="cite_ref-84" class="reference"><a href="#cite_note-84"><span class="cite-bracket">&#91;</span>79<span class="cite-bracket">&#93;</span></a></sup>. </p><p>Следующие компании в основном фокусируются на Java- (<a href="/wiki/J2EE" class="mw-redirect" title="J2EE">J2EE</a>-) технологиях: <a href="/wiki/SAP" title="SAP">SAP</a>, <a href="/wiki/IBM" title="IBM">IBM</a>, <a href="/wiki/Oracle" title="Oracle">Oracle</a>. В частности, <a href="/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" title="Система управления базами данных">СУБД</a> <a href="/wiki/Oracle_Database" title="Oracle Database">Oracle Database</a> включает JVM как свою составную часть, обеспечивающую возможность непосредственного программирования СУБД на языке Java, включая, например, <a href="/wiki/%D0%A5%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B0" title="Хранимая процедура">хранимые процедуры</a><sup id="cite_ref-85" class="reference"><a href="#cite_note-85"><span class="cite-bracket">&#91;</span>80<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading3"><h3 id="Производительность"><span id=".D0.9F.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D1.8C"></span>Производительность</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=47" title="Редактировать раздел «Производительность»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=47" title="Редактировать код раздела «Производительность»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Программы, написанные на Java, имеют репутацию более медленных и занимающих больше оперативной памяти, чем написанные на языке C<sup id="cite_ref-slow_java_9-1" class="reference"><a href="#cite_note-slow_java-9"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup>. Тем не менее, скорость выполнения программ, написанных на языке Java, была существенно улучшена с выпуском в 1997—1998&#160;годах JIT-компилятора в версии 1.1 в дополнение к другим особенностям языка для поддержки лучшего анализа кода (такие, как внутренние классы, класс <code>StringBuffer</code><sup id="cite_ref-86" class="reference"><a href="#cite_note-86"><span class="cite-bracket">&#91;</span>док. 5<span class="cite-bracket">&#93;</span></a></sup>, упрощённые логические вычисления и&#160;так&#160;далее). Кроме того, была произведена оптимизация виртуальной машины Java&#160;— с 2000&#160;года для этого используется виртуальная машина <a href="/wiki/HotSpot" title="HotSpot">HotSpot</a>. По состоянию на февраль 2012&#160;года код Java 7 приблизительно в 1,8 раза медленнее кода, написанного на языке Си<sup id="cite_ref-87" class="reference"><a href="#cite_note-87"><span class="cite-bracket">&#91;</span>81<span class="cite-bracket">&#93;</span></a></sup>. </p><p>Некоторые платформы предлагают аппаратную поддержку выполнения для Java<sup id="cite_ref-88" class="reference"><a href="#cite_note-88"><span class="cite-bracket">&#91;</span>82<span class="cite-bracket">&#93;</span></a></sup>. К примеру, микроконтроллеры, выполняющие код Java на аппаратном обеспечении вместо программной JVM, а также основанные на ARM процессоры, которые поддерживают выполнение байт-кода Java через опцию Jazelle. </p> <div class="mw-heading mw-heading2"><h2 id="Основные_возможности"><span id=".D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.B2.D0.BE.D0.B7.D0.BC.D0.BE.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8"></span>Основные возможности</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=48" title="Редактировать раздел «Основные возможности»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=48" title="Редактировать код раздела «Основные возможности»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Сборка мусора (программирование)">Автоматическое управление памятью</a>;</li> <li>Расширенные возможности обработки <a href="/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9" title="Обработка исключений">исключительных ситуаций</a>;</li> <li>Богатый набор средств фильтрации ввода-вывода;</li> <li>Набор стандартных <a href="/wiki/%D0%9A%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Коллекция (программирование)">коллекций</a>: <a href="/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2" class="mw-redirect" title="Индексный массив">массив</a>, <a href="/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)" title="Список (информатика)">список</a>, <a href="/wiki/%D0%A1%D1%82%D0%B5%D0%BA" title="Стек">стек</a> и т.п;</li> <li>Наличие простых средств создания сетевых приложений (в том числе&#160;— с использованием <a href="/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB" class="mw-redirect" title="Сетевой протокол">протокола</a> <a href="/wiki/RMI" title="RMI">RMI</a>);</li> <li>Наличие классов, позволяющих выполнять <a href="/wiki/HTTP" title="HTTP">HTTP</a>-запросы и обрабатывать ответы;</li> <li>Встроенные в язык средства создания многопоточных приложений, которые потом были портированы на многие языки, например, <a href="/wiki/Python" title="Python">Python</a>;</li> <li>Унифицированный доступ к <a href="/wiki/%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" title="База данных">базам данных</a>: <ul><li>на уровне отдельных <a href="/wiki/SQL" title="SQL">SQL</a>-запросов&#160;— на основе <a href="/wiki/JDBC" class="mw-redirect" title="JDBC">JDBC</a>, <a href="/wiki/SQLJ" title="SQLJ">SQLJ</a>;</li> <li>на уровне концепции объектов, обладающих способностью к хранению в базе данных&#160;— на основе <span data-interwiki-lang="en" data-interwiki-article="Java Data Objects"><a href="/w/index.php?title=Java_Data_Objects&amp;action=edit&amp;redlink=1" class="new" title="Java Data Objects (страница отсутствует)">Java Data Objects</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Java_Data_Objects" class="extiw" title="en:Java Data Objects"><span title="Java Data Objects — версия статьи «Java Data Objects» на английском языке">[англ.]</span></a></sup> и <a href="/wiki/Java_Persistence_API" title="Java Persistence API">Java Persistence API</a>;</li></ul></li> <li>Поддержка <a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">обобщений</a> (с версии 1.5);</li> <li>Поддержка <a href="/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Лямбда-исчисление">лямбд</a>, <a href="/wiki/%D0%97%D0%B0%D0%BC%D1%8B%D0%BA%D0%B0%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Замыкание (программирование)">замыканий</a>, возможностей <a href="/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Функциональное программирование">функционального программирования</a> (с Java 8).</li></ul> <div class="mw-heading mw-heading2"><h2 id="Основные_идеи"><span id=".D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.B8.D0.B4.D0.B5.D0.B8"></span>Основные идеи</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=49" title="Редактировать раздел «Основные идеи»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=49" title="Редактировать код раздела «Основные идеи»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Примитивные_типы"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.BD.D1.8B.D0.B5_.D1.82.D0.B8.D0.BF.D1.8B"></span>Примитивные типы</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=50" title="Редактировать раздел «Примитивные типы»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=50" title="Редактировать код раздела «Примитивные типы»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В языке Java только 8 примитивных (скалярных, простых) <a href="/wiki/%D0%A2%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" title="Тип данных">типов</a>: <code><a href="/wiki/%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D0%B8%D0%BF" title="Логический тип">boolean</a></code>, <code><a href="/wiki/%D0%91%D0%B0%D0%B9%D1%82" title="Байт">byte</a></code>, <code><a href="/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF" title="Символьный тип">char</a></code>, <code><a href="/w/index.php?title=Short&amp;action=edit&amp;redlink=1" class="new" title="Short (страница отсутствует)">short</a></code>, <code><a href="/wiki/%D0%A6%D0%B5%D0%BB%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF" class="mw-redirect" title="Целый тип">int</a></code>, <code><a href="/w/index.php?title=Long_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)&amp;action=edit&amp;redlink=1" class="new" title="Long (тип данных) (страница отсутствует)">long</a></code>, <code><a href="/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8" title="Число одинарной точности">float</a></code>, <code><a href="/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8" title="Число двойной точности">double</a></code>. Существует также вспомогательный девятый примитивный тип&#160;— <code><a href="/wiki/Void" title="Void">void</a></code>, однако переменные и поля такого типа не могут быть объявлены в коде, а сам тип используется только для описания соответствующего ему класса, для использования при <a href="/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Отражение (программирование)">рефлексии</a>: например, с помощью класса <code>Void</code><sup id="cite_ref-89" class="reference"><a href="#cite_note-89"><span class="cite-bracket">&#91;</span>док. 6<span class="cite-bracket">&#93;</span></a></sup> можно узнать, является ли определённый метод типа <code>void</code>: <code>Hello.class.getMethod("main", String[].class).getReturnType() == Void.TYPE</code>. </p><p>Длины и диапазоны значений примитивных типов определяются стандартом, а не реализацией, и приведены в таблице. Тип char сделали двухбайтовым для удобства локализации (один из идеологических принципов Java): когда складывался стандарт, уже существовал <a href="/wiki/Unicode" class="mw-redirect" title="Unicode">Unicode</a>-16, но не Unicode-32. Поскольку в результате не осталось однобайтового типа, добавили новый тип byte, причём в Java, в отличие от других языков, он не является беззнаковым. Типы <code>float</code> и <code>double</code> могут иметь специальные значения <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle +\infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>+</mo> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle +\infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bddbb0e4420a7e744cf71bd71216e11b0bf88831" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.132ex; height:2.176ex;" alt="{\displaystyle +\infty }"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle -\infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>&#x2212;<!-- − --></mo> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle -\infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ca2608c4b5fd3bffc73585f8c67e379b4e99b6f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.132ex; height:2.176ex;" alt="{\displaystyle -\infty }"></span> и «не число» (<a href="/wiki/NaN" class="mw-redirect" title="NaN">NaN</a>). Для типа double они обозначаются <code>Double.POSITIVE_INFINITY</code>, <code>Double.NEGATIVE_INFINITY</code>, <code>Double.NaN</code>; для типа <code>float</code>&#160;— так же, но с приставкой <code>Float</code> вместо <code>Double</code>. Минимальные и максимальные значения, принимаемые типами <code>float</code> и <code>double</code>, тоже стандартизованы. </p> <table class="wikitable"> <tbody><tr> <th>Тип </th> <th>Длина (в байтах)</th> <th>Диапазон или набор значений </th></tr> <tr> <td>boolean</td> <td>1 в массивах, 4 в переменных<sup id="cite_ref-90" class="reference"><a href="#cite_note-90"><span class="cite-bracket">&#91;</span>83<span class="cite-bracket">&#93;</span></a></sup></td> <td>true, false </td></tr> <tr> <td>byte</td> <td>1</td> <td>−128..127 </td></tr> <tr> <td>char</td> <td>2</td> <td>0..2<sup>16</sup>−1, или 0..65535 </td></tr> <tr> <td>short</td> <td>2</td> <td>−2<sup>15</sup>..2<sup>15</sup>−1, или −32768..32767 </td></tr> <tr> <td>int</td> <td>4</td> <td>−2<sup>31</sup>..2<sup>31</sup>−1, или −2147483648..2147483647 </td></tr> <tr> <td>long</td> <td>8</td> <td>−2<sup>63</sup>..2<sup>63</sup>−1, или примерно −9.2·10<sup>18</sup>..9.2·10<sup>18</sup> </td></tr> <tr> <td>float</td> <td>4</td> <td>-(2-2<sup>−23</sup>)·2<sup>127</sup>..(2-2<sup>−23</sup>)·2<sup>127</sup>, или примерно −3.4·10<sup>38</sup>..3.4·10<sup>38</sup>, а также <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle -\infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>&#x2212;<!-- − --></mo> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle -\infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ca2608c4b5fd3bffc73585f8c67e379b4e99b6f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.132ex; height:2.176ex;" alt="{\displaystyle -\infty }"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c26c105004f30c27aa7c2a9c601550a4183b1f21" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.324ex; height:1.676ex;" alt="{\displaystyle \infty }"></span>, NaN </td></tr> <tr> <td>double</td> <td>8</td> <td>-(2-2<sup>−52</sup>)·2<sup>1023</sup>..(2-2<sup>−52</sup>)·2<sup>1023</sup>, или примерно −1.8·10<sup>308</sup>..1.8·10<sup>308</sup>, а также <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle -\infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>&#x2212;<!-- − --></mo> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle -\infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ca2608c4b5fd3bffc73585f8c67e379b4e99b6f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.132ex; height:2.176ex;" alt="{\displaystyle -\infty }"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \infty }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \infty }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c26c105004f30c27aa7c2a9c601550a4183b1f21" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.324ex; height:1.676ex;" alt="{\displaystyle \infty }"></span>, NaN </td></tr></tbody></table> <p>Такая жёсткая стандартизация была необходима, чтобы сделать язык платформенно-независимым, что является одним из идеологических требований к Java. Тем не менее, одна небольшая проблема с платформенной независимостью всё же осталась. Некоторые процессоры используют для промежуточного хранения результатов 10-байтовые <a href="/wiki/%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0" title="Регистр процессора">регистры</a> или другими способами улучшают точность вычислений. Для того, чтобы сделать Java максимально совместимой между разными системами, в ранних версиях любые способы повышения точности вычислений были запрещены. Однако это приводило к снижению быстродействия. Выяснилось, что ухудшение точности ради платформенной независимости мало кому нужно, тем более если за это приходится платить замедлением работы программ. После многочисленных протестов этот запрет отменили, но добавили ключевое слово <code>strictfp</code>, запрещающее повышение точности. Начиная с Java 17, запрет на повышение точности снова начал действовать, а ключевое слово <code>strictfp</code> было объявлено устаревшим<sup id="cite_ref-91" class="reference"><a href="#cite_note-91"><span class="cite-bracket">&#91;</span>84<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Преобразования_при_математических_операциях"><span id=".D0.9F.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BF.D1.80.D0.B8_.D0.BC.D0.B0.D1.82.D0.B5.D0.BC.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F.D1.85"></span>Преобразования при математических операциях</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=51" title="Редактировать раздел «Преобразования при математических операциях»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=51" title="Редактировать код раздела «Преобразования при математических операциях»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В языке Java действуют следующие правила: </p> <ol><li>Если один <a href="/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D0%BD%D0%B4" title="Операнд">операнд</a> имеет тип <code>double</code>, другой тоже преобразуется к типу <code>double</code>.</li> <li>Иначе, если один операнд имеет тип <code>float</code>, другой тоже преобразуется к типу <code>float</code>.</li> <li>Иначе, если один операнд имеет тип <code>long</code>, другой тоже преобразуется к типу <code>long</code>.</li> <li>Иначе оба операнда преобразуются к типу <code>int</code>.</li></ol> <p>Данный способ неявного преобразования встроенных типов полностью совпадает с преобразованием типов в <a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">Си</a>/<a href="/wiki/C%2B%2B" title="C++">C++</a><sup id="cite_ref-92" class="reference"><a href="#cite_note-92"><span class="cite-bracket">&#91;</span>85<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading3"><h3 id="Объектные_переменные,_объекты,_ссылки_и_указатели"><span id=".D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5.2C_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D1.8B.2C_.D1.81.D1.81.D1.8B.D0.BB.D0.BA.D0.B8_.D0.B8_.D1.83.D0.BA.D0.B0.D0.B7.D0.B0.D1.82.D0.B5.D0.BB.D0.B8"></span>Объектные переменные, объекты, ссылки и указатели</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=52" title="Редактировать раздел «Объектные переменные, объекты, ссылки и указатели»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=52" title="Редактировать код раздела «Объектные переменные, объекты, ссылки и указатели»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В языке Java имеются только динамически создаваемые объекты. <a href="/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Переменная (программирование)">Переменные</a> объектного типа и объекты в Java&#160;— совершенно разные сущности. Переменные объектного типа являются <a href="/wiki/%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Ссылка (программирование)">ссылками</a>, то есть аналогами <a href="/wiki/%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)" title="Указатель (тип данных)">указателей</a> на динамически создаваемые объекты. Это подчёркивается <a href="/wiki/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Синтаксис (программирование)">синтаксисом</a> описания переменных. Так, код на <a href="/wiki/C%2B%2B" title="C++">C++</a> может выглядеть следующим образом: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">double</span><span class="w"> </span><span class="n">a</span><span class="o">[</span><span class="mi">10</span><span class="o">][</span><span class="mi">20</span><span class="o">]</span><span class="p">;</span> <span class="n">Foo</span><span class="w"> </span><span class="nf">b</span><span class="p">(</span><span class="mi">30</span><span class="p">);</span> </pre></div> <p>Но то же самое на Java будет выглядеть совсем по-другому: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">double</span><span class="o">[][]</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">double</span><span class="o">[</span><span class="mi">10</span><span class="o">][</span><span class="mi">20</span><span class="o">]</span><span class="p">;</span> <span class="n">Foo</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Foo</span><span class="p">(</span><span class="mi">30</span><span class="p">);</span> </pre></div> <p>При присваиваниях, передаче в <a href="/wiki/%D0%9F%D0%BE%D0%B4%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0" title="Подпрограмма">подпрограммы</a> и сравнениях объектные переменные ведут себя как указатели, то есть присваиваются, копируются и сравниваются <a href="/wiki/%D0%90%D0%B4%D1%80%D0%B5%D1%81_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8" class="mw-redirect" title="Адрес памяти">адреса</a> объектов. А при доступе с помощью объектной переменной к полям данных или методам объекта не требуется никаких специальных операций <a href="/wiki/%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)#Действия_над_указателями" title="Указатель (тип данных)">разыменовывания</a>&#160;— этот доступ осуществляется так, как если бы объектная переменная была самим объектом. </p><p>Объектными являются переменные любого типа, кроме примитивного. Явных указателей в Java нет. В отличие от указателей C, C++ и других языков программирования, ссылки в Java в высокой степени безопасны благодаря жёстким ограничениям на их использование. </p> <ul><li>Нельзя преобразовывать объект типа <code>int</code> или любого другого примитивного типа в указатель или ссылку и наоборот.</li> <li>Над ссылками запрещено выполнять операции <code>++</code>, <code>−−</code>, <code>+</code>, <code>−</code> или любые другие арифметические и логические операции (<code>&amp;&amp;</code>, <code>||</code>, <code>^^</code>).</li> <li>Преобразование типов между ссылками жёстко регламентировано. За исключением ссылок на массивы, разрешено преобразовывать ссылки только между наследуемым типом и его наследником, причём преобразование наследуемого типа в наследующий должно быть явно задано, а во время выполнения производится проверка его осмысленности. Преобразования ссылок на массивы разрешены лишь тогда, когда разрешены преобразования их базовых типов, а также нет конфликтов размерности.</li> <li>В Java нет операций взятия адреса (<code>&amp;</code>) или взятия объекта по адресу (<code>*</code>). <a href="/wiki/%D0%90%D0%BC%D0%BF%D0%B5%D1%80%D1%81%D0%B0%D0%BD%D0%B4#Прочие_применения" title="Амперсанд">Амперсанд</a> (<code>&amp;</code>) означает всего лишь «побитовое и» (двойной амперсанд&#160;— «логическое и»). Однако для булевых типов одиночный амперсанд означает «логическое и», отличающееся от двойного тем, что цепь проверок не прекращается при получении в выражении значения <code>false</code><sup id="cite_ref-93" class="reference"><a href="#cite_note-93"><span class="cite-bracket">&#91;</span>86<span class="cite-bracket">&#93;</span></a></sup>. Например, <code>a == b &amp;&amp; foo() == bar()</code> не повлечёт вызовов <code>foo()</code> и <code>bar()</code> в случае, если <code>a&#160;!= b</code>, тогда как использование <code>&amp;</code>&#160;— повлечёт в любом случае.</li></ul> <p>Благодаря таким специально введённым ограничениям в Java невозможно прямое манипулирование памятью на уровне физических адресов (хотя определено значение ссылки, не указывающей ни на что: <code>null</code>). </p><p>Если нужен указатель на примитивный тип, используются классы-обёртки примитивных типов: <code>Boolean</code>, <code>Byte</code>, <code>Character</code>, <code>Short</code>, <code>Integer</code>, <code>Long</code>, <code>Float</code>, <code>Double</code>. </p> <div class="mw-heading mw-heading4"><h4 id="Дублирование_ссылок_и_клонирование"><span id=".D0.94.D1.83.D0.B1.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D1.81.D1.8B.D0.BB.D0.BE.D0.BA_.D0.B8_.D0.BA.D0.BB.D0.BE.D0.BD.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5"></span>Дублирование ссылок и клонирование</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=53" title="Редактировать раздел «Дублирование ссылок и клонирование»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=53" title="Редактировать код раздела «Дублирование ссылок и клонирование»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>При присваивании не происходит копирования объекта, так как объектные переменные&#160;— ссылочные. Так, если написать </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="n">Foo</span><span class="w"> </span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="n">bar</span><span class="p">;</span> <span class="p">.</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="p">.</span> <span class="n">bar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">foo</span><span class="p">;</span> </pre></div> <p>то произойдёт копирование адреса из переменной <code>foo</code> в переменную <code>bar</code>. То есть <code>foo</code> и <code>bar</code> будут указывать на одну и ту же область памяти, то есть на один и тот же объект; попытка изменить поля объекта, на который ссылается переменная <code>foo</code>, будет менять объект, с которым связана переменная <code>bar</code>, и наоборот. Если же необходимо получить именно ещё одну <i>копию</i> исходного объекта, пользуются или <a href="/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_(%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" class="mw-redirect" title="Метод (языки программирования)">методом</a> (функцией-членом, в терминологии C++) <code>clone()</code>, создающим копию объекта, или (реже) копирующим <a href="/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80_(%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Конструктор (объектно-ориентированное программирование)">конструктором</a> (конструкторы в Java не могут быть виртуальными, поэтому экземпляр класса-потомка будет неправильно скопирован конструктором класса-предка; метод клонирования вызывает нужный конструктор и тем самым позволяет обойти это ограничение). </p><p>Метод <code>clone()</code><sup id="cite_ref-94" class="reference"><a href="#cite_note-94"><span class="cite-bracket">&#91;</span>док. 7<span class="cite-bracket">&#93;</span></a></sup> требует, чтобы класс реализовывал <a href="/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_(%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Интерфейс (объектно-ориентированное программирование)">интерфейс</a> <code>Cloneable</code><sup id="cite_ref-95" class="reference"><a href="#cite_note-95"><span class="cite-bracket">&#91;</span>док. 8<span class="cite-bracket">&#93;</span></a></sup>. Если класс реализует интерфейс <code>Cloneable</code>, по умолчанию <code>clone()</code> копирует все поля (<i>мелкая копия</i>). Если требуется не копировать, а клонировать поля (а также их поля и так далее), надо переопределять метод <code>clone()</code>. Определение и использование метода <code>clone()</code> часто является нетривиальной задачей<sup id="cite_ref-96" class="reference"><a href="#cite_note-96"><span class="cite-bracket">&#91;</span>87<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading4"><h4 id="Инициализация_переменных"><span id=".D0.98.D0.BD.D0.B8.D1.86.D0.B8.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D1.8B.D1.85"></span>Инициализация переменных</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=54" title="Редактировать раздел «Инициализация переменных»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=54" title="Редактировать код раздела «Инициализация переменных»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Все переменные или требуют явного определения, или автоматически заполняются нулями (0, <code>null</code>, <code>false</code>). Таким образом, исчезают <a href="/wiki/%D0%93%D0%B5%D0%B9%D0%B7%D0%B5%D0%BD%D0%B1%D0%B0%D0%B3" title="Гейзенбаг">гейзенбаги</a>, связанные со случайным использованием неинициализированной памяти, характерные для низкоуровневых языков вроде <a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">Си</a>. </p> <div class="mw-heading mw-heading4"><h4 id="Сборка_мусора"><span id=".D0.A1.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_.D0.BC.D1.83.D1.81.D0.BE.D1.80.D0.B0"></span>Сборка мусора</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=55" title="Редактировать раздел «Сборка мусора»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=55" title="Редактировать код раздела «Сборка мусора»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В языке Java невозможно явное удаление объекта из памяти&#160;— вместо этого реализована <a href="/wiki/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Сборка мусора (программирование)">сборка мусора</a>. Традиционным приёмом, дающим сборщику мусора «намёк» на необходимость освобождения памяти, является присваивание переменной пустого значения <code>null</code>, что может оказаться эффективным при необходимости освободить более не требующийся объект, ссылка на который хранится в долгоживущем объекте<sup id="cite_ref-97" class="reference"><a href="#cite_note-97"><span class="cite-bracket">&#91;</span>88<span class="cite-bracket">&#93;</span></a></sup>. Это, однако, не значит, что объект, заменённый значением <code>null</code>, будет непременно и немедленно удалён, но есть гарантия, что этот объект будет удалён именно в будущем. Данный приём всего лишь устраняет ссылку на объект, то есть отвязывает указатель от объекта в памяти. При этом следует учитывать, что объект не будет удалён сборщиком мусора, пока на него указывает хотя бы одна ссылка из используемых переменных или объектов. Существуют также методы для инициации принудительной сборки мусора, но не гарантируется, что они будут вызваны исполняющей средой, и их не рекомендуется использовать для обычной работы. </p> <div class="mw-heading mw-heading3"><h3 id="Классы_и_функции"><span id=".D0.9A.D0.BB.D0.B0.D1.81.D1.81.D1.8B_.D0.B8_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"></span>Классы и функции</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=56" title="Редактировать раздел «Классы и функции»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=56" title="Редактировать код раздела «Классы и функции»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Java не является процедурным языком: любая функция может существовать только внутри класса. Это подчёркивает терминология языка Java, где нет понятий «функция» или «функция-член» (<a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;">member function</span>), а только <i>метод</i>. В методы превратились и стандартные функции. Например, в Java нет функции <code>sin()</code>, а есть метод <code>Math.sin()</code> класса <code>Math</code> (содержащего, кроме <code>sin()</code>, методы <code>cos()</code>, <code>exp()</code>, <code>sqrt()</code>, <code>abs()</code> и многие другие). </p><p>Как и в языке <a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">C</a>, любая исполняемая программа на Java должна иметь <a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)#Точка_входа_программы" title="Си (язык программирования)">точку входа</a>, которой является функция с именем main&#160;— она должна быть единственной в программе и, в отличие от Си, всегда статической. При этом, начиная с Java 21, в которой были введены безымянные классы, допускается определять метод main (точку входа), не определяя имени главного класса. </p><p>Конструкторы в Java не считаются методами. Деструкторов в Java не существует, а метод <code>finalize()</code> ни в коем случае нельзя считать аналогом деструктора. </p> <div class="mw-heading mw-heading4"><h4 id="Конструкторы"><span id=".D0.9A.D0.BE.D0.BD.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.82.D0.BE.D1.80.D1.8B"></span>Конструкторы</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=57" title="Редактировать раздел «Конструкторы»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=57" title="Редактировать код раздела «Конструкторы»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Конструктор&#160;— это специальный метод, который обязательно вызывается при создании нового объекта, то есть объект (экземпляр класса) не может быть создан без вызова конструктора класса. Не всегда удобно инициализировать все переменные класса при создании его экземпляра, поэтому переменные экземпляра часто объявляют внутри тела конструктора, а инициализируют как аргументы конструктора при создании экземпляра класса. Иногда проще, чтобы какие-то значения были бы созданы по умолчанию при создании объекта. В таком случае переменные объявляются и инициализируются внутри тела конструктора. </p><p> Конструктор инициализирует объект непосредственно во время создания. Имя конструктора совпадает с именем класса, включая регистр, а по синтаксису конструктор похож на метод без возвращаемого значения.</p><div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">private</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">Cat</span><span class="p">();</span><span class="w"> </span><span class="c1">// так выглядит метод по имени Cat</span> <span class="n">Cat</span><span class="p">();</span><span class="w"> </span><span class="c1">// так выглядит конструктор класса Cat</span> </pre></div><p>В отличие от метода, конструктор никогда ничего не возвращает. </p><p>Конструктор определяет действия, выполняемые при создании объекта класса, и является важной частью класса. Как правило, программисты стараются явно указать конструктор. Если явного конструктора нет, то Java автоматически создаст его (пустым) для использования по умолчанию. </p><p> В качестве примера можно рассмотреть некий класс <code>Box</code>, представляющий собой описание коробки. Конструктор класса просто установит начальные размеры для коробки.</p><div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">class</span> <span class="nc">Box</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">width</span><span class="p">;</span><span class="w"> </span><span class="c1">// ширина коробки</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">height</span><span class="p">;</span><span class="w"> </span><span class="c1">// высота коробки</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">depth</span><span class="p">;</span><span class="w"> </span><span class="c1">// глубина коробки</span> <span class="w"> </span> <span class="w"> </span><span class="c1">// Конструктор</span> <span class="w"> </span><span class="n">Box</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">width</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">a</span><span class="p">;</span> <span class="w"> </span><span class="n">height</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">b</span><span class="p">;</span> <span class="w"> </span><span class="n">depth</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="c1">// вычисляем объём коробки</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">getVolume</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">width</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">height</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">depth</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Статические_методы_и_поля"><span id=".D0.A1.D1.82.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B5_.D0.BC.D0.B5.D1.82.D0.BE.D0.B4.D1.8B_.D0.B8_.D0.BF.D0.BE.D0.BB.D1.8F"></span>Статические методы и поля</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=58" title="Редактировать раздел «Статические методы и поля»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=58" title="Редактировать код раздела «Статические методы и поля»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В Java (как и в C++) используются <i>статические поля и</i> <i>статические методы</i> (<a href="/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&#160;<span lang="en" style="font-style:italic;">static method</span>&#160;— в теории программирования их также называют методами класса), которые задаются при помощи ключевого слова <code>static</code>. Статические поля (переменные класса) имеют тот же смысл, что и в C++: каждое такое поле является собственностью класса, поэтому для доступа к статическим полям не требуется создавать экземпляры соответствующего класса. </p><p>Например, математические функции, реализованные в классе <code>Math</code><sup id="cite_ref-98" class="reference"><a href="#cite_note-98"><span class="cite-bracket">&#91;</span>док. 9<span class="cite-bracket">&#93;</span></a></sup>, представляют собой как раз статические методы данного класса. Поэтому их можно вызывать напрямую из класса, не создавая его экземпляра, например: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">double</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">sin</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> </pre></div> <p>Создание экземпляра статического класса запрещают с помощью приватного конструктора. Например, создание экземпляра класса <code>Math</code> приведёт к ошибке на этапе компиляции: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="n">Math</span><span class="w"> </span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Math</span><span class="p">();</span><span class="w"> </span><span class="c1">// Error: Math() has private access in java.lang.Math</span> <span class="kt">double</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">m</span><span class="p">.</span><span class="na">sin</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><span class="w"> </span><span class="c1">// Метода sin у объекта не существовало бы, т. к. он статичный</span> </pre></div> <p>Поскольку статические методы существуют независимо от объектов (экземпляров класса), они не имеют доступа к обычным (не статическим) полям и методам данного класса. В частности, при реализации статического метода недопустимо использовать идентификатор <code>this</code>. </p><p>Возможность статического импорта позволяет вызывать статические функции и константы без указания класса. Пример без статического импорта: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">double</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">sin</span><span class="p">(</span><span class="n">Math</span><span class="p">.</span><span class="na">tan</span><span class="p">(</span><span class="n">Math</span><span class="p">.</span><span class="na">sqrt</span><span class="p">(</span><span class="n">y</span><span class="p">))</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">floor</span><span class="p">(</span><span class="mf">24.5</span><span class="p">))</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">cos</span><span class="p">(</span><span class="mi">42</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">PI</span><span class="p">);</span> </pre></div> <p>Тот же пример, но со статическим импортом: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import static</span><span class="w"> </span><span class="nn">java.lang.Math.*</span><span class="p">;</span> <span class="p">...</span> <span class="kt">double</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sin</span><span class="p">(</span><span class="n">tan</span><span class="p">(</span><span class="n">sqrt</span><span class="p">(</span><span class="n">y</span><span class="p">))</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">floor</span><span class="p">(</span><span class="mf">24.5</span><span class="p">))</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">cos</span><span class="p">(</span><span class="mi">42</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">PI</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Завершённость_(final)"><span id=".D0.97.D0.B0.D0.B2.D0.B5.D1.80.D1.88.D1.91.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D1.8C_.28final.29"></span>Завершённость (final)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=59" title="Редактировать раздел «Завершённость (final)»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=59" title="Редактировать код раздела «Завершённость (final)»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ключевое слово <code>final</code> (финальный) имеет разные значения при описании поля, метода или класса. </p> <ol><li>Финальное <b>поле</b> класса инициализируется при описании или в конструкторе класса (а статическое поле&#160;— в статическом блоке инициализации). Впоследствии его значение не может быть изменено. Если статическое поле класса или переменная проинициализированы константным выражением, они рассматриваются компилятором как <a href="/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Константа (программирование)">именованная константа</a>; в таком случае их значение может быть использовано в <a href="/wiki/Switch_(%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80)" class="mw-redirect" title="Switch (оператор)">операторах <code>switch</code></a> (для констант типов <code>int</code> и <code>String</code>, в том числе&#160;— элементов <a href="/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF#Java" title="Перечисляемый тип">перечислений</a>), а также для условной компиляции (для констант типа <code>boolean</code>) при использовании с <a href="/wiki/%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80" class="mw-redirect" title="Условный оператор">оператором <code>if</code></a>.</li> <li>Значения <b>локальных переменных</b>, а также <b>параметров метода</b>, помеченных ключевым словом <code>final</code>, не могут быть изменены после присвоения. При этом их значения могут использоваться внутри <a href="/wiki/%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81#Анонимные_(безымянные)_классы" title="Внутренний класс">анонимных классов</a>.</li> <li><b>Метод</b> класса, отмеченный словом <code>final</code>, не может быть переопределён при наследовании.</li> <li><a href="/wiki/%D0%9B%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81" title="Листовой класс">Финальный <b>класс</b></a> не может иметь наследников.</li></ol> <div class="mw-heading mw-heading4"><h4 id="Абстрактность"><span id=".D0.90.D0.B1.D1.81.D1.82.D1.80.D0.B0.D0.BA.D1.82.D0.BD.D0.BE.D1.81.D1.82.D1.8C"></span>Абстрактность</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=60" title="Редактировать раздел «Абстрактность»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=60" title="Редактировать код раздела «Абстрактность»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В Java методы, не объявленные явно как <code>static</code>, <code>final</code> или <code>private</code>, являются <a href="/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4" title="Виртуальный метод">виртуальными</a> в терминологии C++: при вызове метода, по-разному определённого в базовом и наследующем классах, всегда производится проверка времени выполнения. </p><p><a href="/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4" title="Абстрактный метод">Абстрактным методом</a> (модификатор <code>abstract</code>) в Java называется метод, для которого заданы параметры и тип возвращаемого значения, но не задано тело. Абстрактный метод определяется в классах-наследниках. Аналог абстрактного метода в C++&#160;— чисто виртуальная функция (pure virtual function). Для того чтобы в классе можно было описывать абстрактные методы, сам класс тоже должен быть описан как абстрактный. Объекты абстрактного класса создавать нельзя. </p> <div class="mw-heading mw-heading4"><h4 id="Интерфейсы"><span id=".D0.98.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B"></span>Интерфейсы</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=61" title="Редактировать раздел «Интерфейсы»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=61" title="Редактировать код раздела «Интерфейсы»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Высшей степенью абстрактности в Java является интерфейс (модификатор <code>interface</code>). Интерфейс содержит преимущественно абстрактные методы, имеющие всеобщий уровень доступа: описатели <code>abstract</code> и <code>public</code> для них даже не требуются. Однако с версий Java 8 и 9 были введены возможности использования в интерфейсах </p><p>— Java 8: статических (<code>static</code>) методов и методов по умолчанию (<code>default</code>); </p><p>— Java 9: методов, имеющих уровень доступа <code>private</code>. </p><p>Эти методы содержат тело, а значит абстрактными не являются, но в конкретной реализации интерфейса <code>default</code>-методы могут быть переопределены. </p><p>Интерфейс в Java не считается классом, хотя, по сути, является полностью абстрактным классом. </p><p>Класс может наследовать/<i>расширять</i> (<code>extends</code>) другой класс или <i>реализовывать</i> (<code>implements</code>) интерфейс. Интерфейсы же могут наследовать/расширять другие интерфейсы. В Java класс не может наследовать более одного класса, зато может реализовывать несколько интерфейсов. Множественное наследование интерфейсов не запрещено — один интерфейс может наследоваться от нескольких. </p><p>С версии Java 15 (экспериментально, официально — с версии Java 17) добавлена возможность использования запечатанных (<code>sealed</code>) классов/интерфейсов, при объявлении которых, с помощью ключевого слова <code>permits</code>, можно указывать, какие классы/интерфейсы могут наследовать данный запечатанный класс/интерфейс. </p><p>Интерфейсы можно использовать в качестве типов параметров методов. Нельзя создавать экземпляры интерфейсов. </p> <div class="mw-heading mw-heading5"><h5 id="Маркерные_интерфейсы"><span id=".D0.9C.D0.B0.D1.80.D0.BA.D0.B5.D1.80.D0.BD.D1.8B.D0.B5_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B"></span>Маркерные интерфейсы</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=62" title="Редактировать раздел «Маркерные интерфейсы»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=62" title="Редактировать код раздела «Маркерные интерфейсы»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В Java есть интерфейсы, которые не содержат методов для реализации, а специальным образом обрабатываются JVM: <code>Cloneable</code>, <code>Serializable</code>, <code>RandomAccess</code>, <code>Remote</code>. </p> <div class="mw-heading mw-heading4"><h4 id="Шаблоны_в_Java_(generics)"><span id=".D0.A8.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D1.8B_.D0.B2_Java_.28generics.29"></span>Шаблоны в Java (generics)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=63" title="Редактировать раздел «Шаблоны в Java (generics)»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=63" title="Редактировать код раздела «Шаблоны в Java (generics)»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span id="generics"></span> Начиная с версии Java 5.0 в языке появился механизм <a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">обобщённого программирования</a>&#160;— шаблоны, внешне близкие к шаблонам C++. С помощью специального синтаксиса в описании классов и методов можно указать параметры-типы, которые внутри описания могут использоваться в качестве типов полей, параметров и возвращаемых значений методов. </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// Объявление обобщённого класса</span> <span class="kd">class</span> <span class="nc">GenericClass</span><span class="o">&lt;</span><span class="n">E</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">E</span><span class="w"> </span><span class="nf">getFirst</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">add</span><span class="p">(</span><span class="n">E</span><span class="w"> </span><span class="n">obj</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="c1">// Использование обобщённого класса в коде</span> <span class="n">GenericClass</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">obj</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">GenericClass</span><span class="o">&lt;&gt;</span><span class="p">();</span> <span class="n">obj</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="s">&quot;qwerty&quot;</span><span class="p">);</span> <span class="n">String</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obj</span><span class="p">.</span><span class="na">getFirst</span><span class="p">();</span> </pre></div> <p>Допускается обобщённое объявление классов, интерфейсов и методов. Кроме того, синтаксис поддерживает ограниченные объявления типов-параметров: указание в объявлении конструкции вида <code>&lt;T extends A &amp; B &amp; C...&gt;</code> требует, чтобы тип-параметр T реализовывал интерфейсы A, B, C и так далее. </p><p>В отличие от шаблонов C#, шаблоны Java не поддерживаются средой исполнения&#160;— компилятор просто создаёт байт-код, в котором никаких шаблонов уже нет. Реализация шаблонов в Java принципиально отличается от реализации аналогичных механизмов в C++: компилятор не порождает для каждого случая использования шаблона отдельный вариант класса или метода-шаблона, а просто создаёт одну реализацию байт-кода, содержащую необходимые проверки и преобразования типов. Это приводит к ряду ограничений использования шаблонов в программах на Java. </p> <div class="mw-heading mw-heading4"><h4 id="Проверка_принадлежности_к_классу"><span id=".D0.9F.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B0_.D0.BF.D1.80.D0.B8.D0.BD.D0.B0.D0.B4.D0.BB.D0.B5.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8_.D0.BA_.D0.BA.D0.BB.D0.B0.D1.81.D1.81.D1.83"></span>Проверка принадлежности к классу</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=64" title="Редактировать раздел «Проверка принадлежности к классу»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=64" title="Редактировать код раздела «Проверка принадлежности к классу»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>В Java можно явно проверить, к какому классу принадлежит объект. Выражение <code>foo instanceof Foo</code> равно <code>true</code>, если объект <code>foo</code> принадлежит классу <code>Foo</code> или его наследнику, или реализует интерфейс <code>Foo</code> (или, в общем виде, наследует класс, который реализует интерфейс, который наследует <code>Foo</code>). </p><p>Далее функция <code>getClass()</code><sup id="cite_ref-99" class="reference"><a href="#cite_note-99"><span class="cite-bracket">&#91;</span>док. 10<span class="cite-bracket">&#93;</span></a></sup>, определённая для всех объектов, выдаёт объект типа <code>Class&lt;?&gt;</code>. Для каждого класса создаётся не более одного описывающего его объекта типа <code>Class</code>, поэтому эти объекты можно сравнивать. Так, например, <code>foo.getClass() == bar.getClass()</code> будет истинно, если объекты <code>foo</code> и <code>bar</code> принадлежат к одному классу. </p><p>Кроме того, объект типа <code>Class&lt;?&gt;</code> любого типа можно получить так: <code>Integer.class</code>, <code>Object.class</code>. </p><p>Прямое сравнение классов не всегда является оптимальным средством проверки на принадлежность к классу. Зачастую вместо него используют функцию <code>isAssignableFrom()</code>. Эта функция определена у объекта типа <code>Class</code> и принимает объект типа <code>Class&lt;?&gt;</code> в качестве параметра. Таким образом, вызов <code>Foo.class.isAssignableFrom(Bar.class)</code> вернёт <code>true</code> в случае, если <code>Foo</code> является предком класса <code>Bar</code>. Так как все объекты являются потомками типа <code>Object</code>, вызов <code>Object.class.isAssignableFrom()</code> всегда вернёт <code>true</code>. </p><p>В паре с упомянутыми функциями объекта типа <code>Class</code> используются также функции <code>isInstance</code><sup id="cite_ref-100" class="reference"><a href="#cite_note-100"><span class="cite-bracket">&#91;</span>док. 11<span class="cite-bracket">&#93;</span></a></sup> (эквивалентно <code>instanceof</code>), а также <code>cast()</code> (преобразует параметр в объект выбранного класса). </p> <div class="mw-heading mw-heading3"><h3 id="Обработка_ошибок"><span id=".D0.9E.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BE.D1.88.D0.B8.D0.B1.D0.BE.D0.BA"></span>Обработка ошибок</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=65" title="Редактировать раздел «Обработка ошибок»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=65" title="Редактировать код раздела «Обработка ошибок»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Обработка ошибок в Java похожа на обработку ошибок в <a href="/wiki/C%2B%2B" title="C++">C++</a> за исключением необходимости в блоке <code>finally</code>. Данное отличие обусловлено тем, что Java не может придерживаться концепции <a href="/wiki/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B0_%D0%B5%D1%81%D1%82%D1%8C_%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" title="Получение ресурса есть инициализация">RAII</a> из-за наличия сборщика мусора, а автоматическое освобождение ресурсов в деструкторе может идти в непредсказуемом порядке через произвольные промежутки времени. </p><p>Осуществляется обработка ошибок с помощью операторов <code>try</code>, <code>catch</code> и <code>finally</code>. Выбрасываемая ошибка описывается объектом определённого класса, наследующегося от <code>Throwable</code><sup id="cite_ref-101" class="reference"><a href="#cite_note-101"><span class="cite-bracket">&#91;</span>док. 12<span class="cite-bracket">&#93;</span></a></sup> и соответствующего типу ошибки. Внутрь блока <code>try</code> помещается код, который может выбросить исключение, а блок <code>catch</code> отлавливает заданные программистом типы ошибок. При этом можно указывать более одного блока <code>catch</code> для обработки различных классов ошибок, или multi-catch для обработки нескольких ошибок. Блок <code>finally</code> является необязательным, но при наличии выполняется независимо от возникновения ошибки и предназначен для освобождения выделенных в ходе работы блока <code>try</code> ресурсов. </p><p>Начиная с Java 7 поддерживается интерфейс <code>AutoCloseable</code><sup id="cite_ref-102" class="reference"><a href="#cite_note-102"><span class="cite-bracket">&#91;</span>док. 13<span class="cite-bracket">&#93;</span></a></sup>, который позволяет реализовывать классы, автоматически освобождающие ресурсы. Объекты подобных классов требуется создавать в круглых скобках перед блоком <code>try</code>. Простым примером автоматического освобождения ресурсом может служить чтение содержимого файла: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.io.*</span><span class="p">;</span> <span class="linenos" data-line="2"></span> <span class="linenos" data-line="3"></span><span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Main</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="4"></span><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="5"></span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="na">length</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="6"></span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">err</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;Не указано имя файла.&quot;</span><span class="p">);</span> <span class="linenos" data-line="7"></span><span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="linenos" data-line="8"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="9"></span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">filename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">args</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span><span class="p">;</span> <span class="linenos" data-line="10"></span><span class="w"> </span><span class="c1">// Открытый файл будет автоматически закрыт по ошибке</span> <span class="linenos" data-line="11"></span><span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">BufferedReader</span><span class="w"> </span><span class="n">reader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">BufferedReader</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">FileReader</span><span class="p">(</span><span class="n">filename</span><span class="p">)))</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="12"></span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">line</span><span class="p">;</span> <span class="linenos" data-line="13"></span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="p">(</span><span class="n">line</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">reader</span><span class="p">.</span><span class="na">readLine</span><span class="p">())</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="kc">null</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="14"></span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;: &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">line</span><span class="p">);</span> <span class="linenos" data-line="15"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="16"></span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">FileNotFoundException</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="17"></span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">err</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;Указанный файл не найден.&quot;</span><span class="p">);</span> <span class="linenos" data-line="18"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="19"></span><span class="w"> </span><span class="c1">// finally {</span> <span class="linenos" data-line="20"></span><span class="w"> </span><span class="c1">// reader.close(); // автоматическое закрытие ресурса</span> <span class="linenos" data-line="21"></span><span class="w"> </span><span class="c1">// }</span> <span class="linenos" data-line="22"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="23"></span><span class="p">}</span> </pre></div> <p>Java придерживается концепции обязательного указания классов ошибок, которые может выбросить метод. Делается это с помощью ключевого слова <code>throws</code> после описания метода. Если в методе не указать класс исключения (или его предка), которое может быть выброшено из метода, то это вызовет ошибку компиляции. Концепция должна была позволить делать код самодокументируемым, обозначая, какие исключения может выбросить тот или иной метод, но на практике редко себя оправдывает, поскольку в силу разных обстоятельств программист может указать в качестве выбрасываемого исключения класс <code>Exception</code> либо заключить проблемные части метода в блок <code>try</code>…<code>catch</code> для игнорирования отдельных ошибок, либо&#160;— в блок <code>try</code>…<code>finally</code>, скрывая все возможные ошибки. Недостатком концепции также является и то, что программист сам должен определять и прописывать исключения, которые может выбрасывать метод<sup id="cite_ref-103" class="reference"><a href="#cite_note-103"><span class="cite-bracket">&#91;</span>89<span class="cite-bracket">&#93;</span></a></sup>. </p> <div class="mw-heading mw-heading3"><h3 id="Пространство_имён"><span id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D1.81.D1.82.D0.B2.D0.BE_.D0.B8.D0.BC.D1.91.D0.BD"></span>Пространство имён</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=66" title="Редактировать раздел «Пространство имён»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=66" title="Редактировать код раздела «Пространство имён»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hatnote navigation-not-searchable">Основная статья: <b><a href="/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%B8%D0%BC%D1%91%D0%BD_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Пространство имён (программирование)">Пространство имён (программирование)</a></b></div> <p>Идея пространств имён воплощена в <a href="/wiki/Package_(Java)" class="mw-redirect" title="Package (Java)">Java-пакетах</a>. </p><p>Название Java-пакета&#160;создаётся <a href="/wiki/%D0%9B%D0%B0%D1%82%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82" class="mw-redirect" title="Латинский алфавит">латиницей</a> (используется нижний и верхний регистр) с <a href="/wiki/%D0%A6%D0%B8%D1%84%D1%80%D1%8B" title="Цифры">цифрами</a> (они не должны быть первыми в строке) и знаком подчёркивания (он не должен быть первым и последним в строке), не являющейся инструкциями языка (например, <code>if</code>, <code>null</code>), разделённой точками. </p><p>Правильные примеры названий: </p> <ul><li><code>project.types.net.media</code></li> <li><code>a0.a_b.canrepeat.canrepeat.UPPERCASE.RaNdOmCaSe</code> (хотя нежелательно, из-за нечитабельности)</li></ul> <p>Неправильные примеры названий: </p> <ul><li><code>doubledots..something</code> (две точки подряд)</li> <li><code>нестандартный.язык</code> (не латиница)</li> <li><code>0first.characret.is.number</code> (число в начале)</li> <li><code>contains.white space</code> (пробел вместо точки)</li> <li><code>true.asd</code> (содержит <code>true</code>, см. выше)</li></ul> <p>Пакеты содержат классы, интерфейсы, перечисления, аннотации (и&#160;т.&#160;д.), имена которых&#160;тоже создаются латиницей (используется нижний и верхний регистр) с цифрами (они не должны стоять первыми в строке). Публичный класс, интерфейс (и&#160;т.&#160;д.) в одном файле может быть только один. Имя публичного класса, интерфейса (и&#160;т.&#160;д.) в файле должно совпадать с названием файла. Каждый класс имеет своё пространство имён для функций, переменных и подклассов, подинтерфейсов (и&#160;т.&#160;д.), причём получить подкласс класса можно с помощью <code>OuterClass.InnerClass</code>, а можно — с помощью <code>OuterClass$InnerClass</code>, поэтому использование символа доллара в названии класса не рекомендуется. </p> <div class="mw-heading mw-heading2"><h2 id="Примеры_программ"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC"></span>Примеры программ</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=67" title="Редактировать раздел «Примеры программ»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=67" title="Редактировать код раздела «Примеры программ»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Код программы «<a href="/wiki/Hello,_world!" title="Hello, world!">Hello, world!</a>». </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kd">class</span> <span class="nc">HelloWorld</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="2"></span><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="linenos" data-line="3"></span><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;Hello, world!&quot;</span><span class="p">);</span> <span class="linenos" data-line="4"></span><span class="w"> </span><span class="p">}</span> <span class="linenos" data-line="5"></span><span class="p">}</span> </pre></div> <p><a href="/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Обобщённое программирование">Обобщения</a>: </p> <style data-mw-deduplicate="TemplateStyles:r137842454">.mw-parser-output .ts-Скрытый_блок{margin:0;overflow:hidden;border-collapse:collapse;box-sizing:border-box;font-size:95%}.mw-parser-output .ts-Скрытый_блок-title{text-align:center;font-weight:bold;line-height:1.6em;min-height:1.2em}.mw-parser-output .ts-Скрытый_блок .mw-collapsible-content{overflow-x:auto;overflow-y:hidden;clear:both}.mw-parser-output .ts-Скрытый_блок::before,.mw-parser-output .ts-Скрытый_блок .mw-collapsible-toggle{padding-top:.1em;width:6em;font-weight:normal;font-size:calc(90%/0.95)}.mw-parser-output .ts-Скрытый_блок-rightHideLink .mw-collapsible-toggle{float:right;text-align:right}.mw-parser-output .ts-Скрытый_блок-leftHideLink .mw-collapsible-toggle{float:left;text-align:left}.mw-parser-output .ts-Скрытый_блок-gray{padding:2px;border:1px solid var(--border-color-base,#a2a9b1)}.mw-parser-output .ts-Скрытый_блок-transparent{border:none}.mw-parser-output .ts-Скрытый_блок-gray .ts-Скрытый_блок-title{background:var(--background-color-neutral,#eaecf0);padding:.1em 6em;padding-right:0}.mw-parser-output .ts-Скрытый_блок-transparent .ts-Скрытый_блок-title{background:transparent;padding:.1em 5.5em;padding-right:0}.mw-parser-output .ts-Скрытый_блок-gray .mw-collapsible-content{padding:.25em 1em}.mw-parser-output .ts-Скрытый_блок-transparent .mw-collapsible-content{padding:.25em 0}.mw-parser-output .ts-Скрытый_блок-gray.ts-Скрытый_блок-rightHideLink .mw-collapsible-toggle{padding-right:1em}.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-rightHideLink .mw-collapsible-toggle{padding-right:0}.mw-parser-output .ts-Скрытый_блок-gray.ts-Скрытый_блок-leftHideLink .mw-collapsible-toggle{padding-left:1em}.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-leftHideLink .mw-collapsible-toggle{padding-left:0}.mw-parser-output .ts-Скрытый_блок-gray.ts-Скрытый_блок-rightHideLink .ts-Скрытый_блок-title-leftTitle{padding-left:1em}.mw-parser-output .ts-Скрытый_блок-gray.ts-Скрытый_блок-leftHideLink .ts-Скрытый_блок-title-leftTitle{padding-left:6.5em}.mw-parser-output .ts-Скрытый_блок-gray.ts-Скрытый_блок-leftHideLink .ts-Скрытый_блок-title-rightTitle{padding-right:1em}.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-rightHideLink .ts-Скрытый_блок-title-rightTitle,.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-rightHideLink .ts-Скрытый_блок-title-leftTitle{padding-left:0}.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-leftHideLink .ts-Скрытый_блок-title-rightTitle,.mw-parser-output .ts-Скрытый_блок-transparent.ts-Скрытый_блок-leftHideLink .ts-Скрытый_блок-title-leftTitle{padding-right:0}.mw-parser-output .ts-Скрытый_блок+.ts-Скрытый_блок,.mw-parser-output .ts-Скрытый_блок+link+.ts-Скрытый_блок{border-top-style:hidden}</style><div class="mw-collapsible mw-collapsed ts-Скрытый_блок ts-Скрытый_блок-gray ts-Скрытый_блок-rightHideLink" style=""><div class="ts-Скрытый_блок-title" style="">Пример использования обобщений<div class="mw-collapsible-toggle-placeholder"></div></div><div class="mw-collapsible-content" style=""> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.util.List</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.util.ArrayList</span><span class="p">;</span> <span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Sample</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Создание объекта по шаблону.</span> <span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">strings</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ArrayList</span><span class="o">&lt;&gt;</span><span class="p">();</span> <span class="w"> </span><span class="n">strings</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="s">&quot;Hello&quot;</span><span class="p">);</span> <span class="w"> </span><span class="n">strings</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="s">&quot;world&quot;</span><span class="p">);</span> <span class="w"> </span><span class="n">strings</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="s">&quot;!&quot;</span><span class="p">);</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">var</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">strings</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">print</span><span class="p">(</span><span class="n">string</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; &quot;</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> </div></div> <p><a href="/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Отражение (программирование)">Рефлексия</a>: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r137842454"><div class="mw-collapsible mw-collapsed ts-Скрытый_блок ts-Скрытый_блок-gray ts-Скрытый_блок-rightHideLink" style=""><div class="ts-Скрытый_блок-title" style="">Пример использования рефлексии<div class="mw-collapsible-toggle-placeholder"></div></div><div class="mw-collapsible-content" style=""> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.reflect.Field</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.reflect.Method</span><span class="p">;</span> <span class="kd">class</span> <span class="nc">TestClass</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">value</span><span class="p">;</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">getValue</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">value</span><span class="p">;</span><span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">setValue</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">valueIn</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">valueIn</span><span class="p">;</span><span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Main</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="n">testClass</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TestClass</span><span class="p">();</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">var</span><span class="w"> </span><span class="n">field</span><span class="p">:</span><span class="w"> </span><span class="n">testClass</span><span class="p">.</span><span class="na">getClass</span><span class="p">().</span><span class="na">getDeclaredFields</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">printf</span><span class="p">(</span><span class="s">&quot;name:%s, type:%s \n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">field</span><span class="p">.</span><span class="na">getName</span><span class="p">(),</span><span class="w"> </span><span class="n">field</span><span class="p">.</span><span class="na">getType</span><span class="p">().</span><span class="na">getCanonicalName</span><span class="p">());</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">var</span><span class="w"> </span><span class="n">method</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">testClass</span><span class="p">.</span><span class="na">getClass</span><span class="p">().</span><span class="na">getDeclaredMethods</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">printf</span><span class="p">(</span><span class="s">&quot;name:%s, return type:%s \n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">method</span><span class="p">.</span><span class="na">getName</span><span class="p">(),</span><span class="w"> </span><span class="n">method</span><span class="p">.</span><span class="na">getReturnType</span><span class="p">().</span><span class="na">getCanonicalName</span><span class="p">());</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> </div></div> <p><a href="/wiki/%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_(Java)" title="Аннотация (Java)">Аннотации</a>: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r137842454"><div class="mw-collapsible mw-collapsed ts-Скрытый_блок ts-Скрытый_блок-gray ts-Скрытый_блок-rightHideLink" style=""><div class="ts-Скрытый_блок-title" style="">Пример использования аннотаций<div class="mw-collapsible-toggle-placeholder"></div></div><div class="mw-collapsible-content" style=""> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.annotation.ElementType</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.annotation.Retention</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.annotation.RetentionPolicy</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.lang.annotation.Target</span><span class="p">;</span> <span class="nd">@Retention</span><span class="p">(</span><span class="n">RetentionPolicy</span><span class="p">.</span><span class="na">RUNTIME</span><span class="p">)</span> <span class="nd">@Target</span><span class="p">(</span><span class="n">ElementType</span><span class="p">.</span><span class="na">TYPE</span><span class="p">)</span> <span class="kd">public</span><span class="w"> </span><span class="nd">@interface</span><span class="w"> </span><span class="n">MyAnnotation</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="nf">value</span><span class="p">()</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> <span class="p">}</span> <span class="nd">@MyAnnotation</span><span class="p">(</span><span class="n">value</span><span class="o">=</span><span class="kc">true</span><span class="p">)</span> <span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">TestClass</span><span class="w"> </span><span class="p">{</span> <span class="p">}</span> <span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Main</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="n">testClass</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TestClass</span><span class="p">();</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="n">myAnnotation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">testClass</span><span class="p">.</span><span class="na">getClass</span><span class="p">().</span><span class="na">getAnnotation</span><span class="p">(</span><span class="n">MyAnnotation</span><span class="p">.</span><span class="na">class</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">myAnnotation</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">printf</span><span class="p">(</span><span class="s">&quot;value:%s \n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">myAnnotation</span><span class="p">.</span><span class="na">value</span><span class="p">());</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> </div></div> <div class="mw-heading mw-heading2"><h2 id="Средства_разработки_ПО"><span id=".D0.A1.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B2.D0.B0_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8_.D0.9F.D0.9E"></span>Средства разработки ПО</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=68" title="Редактировать раздел «Средства разработки ПО»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=68" title="Редактировать код раздела «Средства разработки ПО»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/JDK" class="mw-redirect" title="JDK">JDK</a>&#160;— помимо набора библиотек для платформ <a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a> и <a href="/wiki/Java_EE" class="mw-redirect" title="Java EE">Java EE</a>, содержит компилятор командной строки javac и набор утилит, так же работающих в режиме командной строки.</li> <li><a href="/wiki/NetBeans_IDE" class="mw-redirect" title="NetBeans IDE">NetBeans IDE</a>&#160;— свободная интегрированная среда разработки для всех платформ Java&#160;— <a href="/wiki/Java_ME" class="mw-redirect" title="Java ME">Java ME</a>, <a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a> и <a href="/wiki/Java_EE" class="mw-redirect" title="Java EE">Java EE</a>. Пропагандируется <a href="/wiki/Oracle" title="Oracle">Oracle</a>, владельцем технологии Java, как базовое средство для разработки ПО на языке Java и других языках (<a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">C</a>, <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/PHP" title="PHP">PHP</a>, <a href="/wiki/Fortran" class="mw-redirect" title="Fortran">Fortran</a> и др.).</li> <li><a href="/wiki/Eclipse_(%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8)" title="Eclipse (среда разработки)">Eclipse IDE</a>&#160;— свободная интегрированная среда разработки для <a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a>, <a href="/wiki/Java_EE" class="mw-redirect" title="Java EE">Java EE</a> и <a href="/wiki/Java_ME" class="mw-redirect" title="Java ME">Java ME</a><sup id="cite_ref-104" class="reference"><a href="#cite_note-104"><span class="cite-bracket">&#91;</span>90<span class="cite-bracket">&#93;</span></a></sup>. Пропагандируется <a href="/wiki/IBM" title="IBM">IBM</a>, одним из важнейших разработчиков корпоративного ПО, как базовое средство для разработки ПО на языке Java и других языках (<a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">C</a>, <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/Ruby" title="Ruby">Ruby</a>, <a href="/wiki/Fortran" class="mw-redirect" title="Fortran">Fortran</a> и др.).</li> <li><a href="/wiki/IntelliJ_IDEA" title="IntelliJ IDEA">IntelliJ IDEA</a>&#160;— среда разработки для платформ <a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a>, <a href="/wiki/Java_EE" class="mw-redirect" title="Java EE">Java EE</a> и <a href="/wiki/Java_ME" class="mw-redirect" title="Java ME">Java ME</a>. Разработчик&#160;— компания <a href="/wiki/JetBrains" title="JetBrains">JetBrains</a>. Распространяется в двух версиях: свободной бесплатной (Community Edition) и коммерческой проприетарной (Ultimate Edition).</li> <li><a href="/wiki/JDeveloper" title="JDeveloper">JDeveloper</a>&#160;— среда разработки для платформ <a href="/wiki/Java_SE" class="mw-redirect" title="Java SE">Java SE</a>, <a href="/wiki/Java_EE" class="mw-redirect" title="Java EE">Java EE</a> и <a href="/wiki/Java_ME" class="mw-redirect" title="Java ME">Java ME</a>. Разработчик&#160;— компания <a href="/wiki/Oracle" title="Oracle">Oracle</a>.</li> <li><a href="/wiki/BlueJ" title="BlueJ">BlueJ</a>&#160;— среда разработки программного обеспечения на языке Java, созданная в основном для использования в обучении, но также подходящая для разработки небольших программ.</li> <li><a href="/wiki/Geany" title="Geany">Geany</a>&#160;— <a href="/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5" title="Свободное программное обеспечение">свободная</a> <a href="/wiki/%D0%A1%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F" class="mw-redirect" title="Среда разработки программного обеспечения">среда разработки программного обеспечения</a>, написанная с использованием <a href="/wiki/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F" class="mw-redirect" title="Библиотека времени исполнения">библиотеки</a> <a href="/wiki/GTK2" class="mw-redirect" title="GTK2">GTK2</a>.</li></ul> <div class="mw-heading mw-heading2"><h2 id="См._также"><span id=".D0.A1.D0.BC._.D1.82.D0.B0.D0.BA.D0.B6.D0.B5"></span>См. также</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=69" title="Редактировать раздел «См. также»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=69" title="Редактировать код раздела «См. также»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r137903846">.mw-parser-output .ts-Родственные_проекты{clear:right;float:right;width:19em;box-sizing:border-box;margin:0 0 .5em 1em;padding:.4em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);font-size:90%}.mw-parser-output .ts-Родственные_проекты-header{margin-bottom:.2em;padding:.2em .6em;font-size:110%}.mw-parser-output .ts-Родственные_проекты-item{display:flex;padding:.2em .6em}.mw-parser-output .ts-Родственные_проекты-image{min-width:24px;display:inline-block;margin-right:.4em;flex:none;vertical-align:top;text-align:center}.mw-parser-output .ts-Родственные_проекты-image img{vertical-align:middle}.mw-parser-output .ts-Родственные_проекты-label{align-self:center}@media(max-width:719px){.mw-parser-output .ts-Родственные_проекты{clear:none;float:none;width:auto;margin-left:0;margin-right:0}}</style><div class="ts-Родственные_проекты ruwikiWikimediaNavigation metadata plainlinks plainlist noprint" role="navigation" aria-labelledby="В_родственных_проектах"><div class="ts-Родственные_проекты-header" id="В_родственных_проектах"><b>В родственных проектах</b></div><ul><li class="ts-Родственные_проекты-item"><span class="ts-Родственные_проекты-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Notification-icon-Wiktionary-logo.svg/24px-Notification-icon-Wiktionary-logo.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Notification-icon-Wiktionary-logo.svg/36px-Notification-icon-Wiktionary-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Notification-icon-Wiktionary-logo.svg/48px-Notification-icon-Wiktionary-logo.svg.png 2x" data-file-width="30" data-file-height="30" /></span></span></span><span class="ts-Родственные_проекты-label wiktionary-ref"><a href="https://ru.wiktionary.org/wiki/Java" class="extiw" title="wikt:Java">Значения в&#160;Викисловаре</a></span></li><li class="ts-Родственные_проекты-item"><span class="ts-Родственные_проекты-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Notification-icon-Wikibooks-logo.svg/24px-Notification-icon-Wikibooks-logo.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Notification-icon-Wikibooks-logo.svg/36px-Notification-icon-Wikibooks-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Notification-icon-Wikibooks-logo.svg/48px-Notification-icon-Wikibooks-logo.svg.png 2x" data-file-width="30" data-file-height="30" /></span></span></span><span class="ts-Родственные_проекты-label wikibooks-ref"><a href="https://ru.wikibooks.org/wiki/Java" class="extiw" title="b:Java">Книги в&#160;Викиучебнике</a></span></li><li class="ts-Родственные_проекты-item"><span class="ts-Родственные_проекты-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Notification-icon-Commons-logo.svg/24px-Notification-icon-Commons-logo.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Notification-icon-Commons-logo.svg/36px-Notification-icon-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/76/Notification-icon-Commons-logo.svg/48px-Notification-icon-Commons-logo.svg.png 2x" data-file-width="30" data-file-height="30" /></span></span></span><span class="ts-Родственные_проекты-label commons-ref"><a href="https://commons.wikimedia.org/wiki/Category:Java_(programming_language)" class="extiw" title="commons:Category:Java (programming language)">Медиафайлы на&#160;Викискладе</a></span></li></ul></div> <ul><li><a href="/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_C_Sharp_%D0%B8_Java" title="Сравнение C Sharp и Java">Сравнение C# и Java</a></li> <li><a href="/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_Java_API" title="Список Java API">Список Java API</a></li> <li><a href="/wiki/Java_User_Group" title="Java User Group">Java User Groups</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Примечания"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"></span>Примечания</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=70" title="Редактировать раздел «Примечания»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=70" title="Редактировать код раздела «Примечания»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Комментарии"><span id=".D0.9A.D0.BE.D0.BC.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.B8.D0.B8"></span>Комментарии</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=71" title="Редактировать раздел «Комментарии»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=71" title="Редактировать код раздела «Комментарии»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="reflist columns" style="list-style-type: decimal;"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text">Произносится на английском как <span class="IPA"><a href="/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D1%84%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82" title="Международный фонетический алфавит">/ˈdʒɑːvə/</a></span>, в русском языке встречаются транслитерации «Джава» и «Ява», правообладатели торговой марки предпочитают первую транслитерацию.</span> </li> </ol></div></div> <div class="mw-heading mw-heading3"><h3 id="Документация"><span id=".D0.94.D0.BE.D0.BA.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.86.D0.B8.D1.8F"></span>Документация</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=72" title="Редактировать раздел «Документация»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=72" title="Редактировать код раздела «Документация»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="reflist columns" style="list-style-type: decimal;"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html">String</a></code></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html">AutoCloseable</a></code></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><a href="#cite_ref-29">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java/net/URLClassLoader.html">URLClassLoader</a></code></span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><a href="#cite_ref-40">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/HttpURLConnection.html">HttpURLConnection</a></code></span> </li> <li id="cite_note-86"><span class="mw-cite-backlink"><a href="#cite_ref-86">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/StringBuffer.html">StringBuffer</a></code></span> </li> <li id="cite_note-89"><span class="mw-cite-backlink"><a href="#cite_ref-89">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Void.html">Void</a></code></span> </li> <li id="cite_note-94"><span class="mw-cite-backlink"><a href="#cite_ref-94">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()">clone()</a></code></span> </li> <li id="cite_note-95"><span class="mw-cite-backlink"><a href="#cite_ref-95">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java/lang/Cloneable.html">Cloneable</a></code></span> </li> <li id="cite_note-98"><span class="mw-cite-backlink"><a href="#cite_ref-98">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html">Math</a></code></span> </li> <li id="cite_note-99"><span class="mw-cite-backlink"><a href="#cite_ref-99">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()">getClass()</a></code></span> </li> <li id="cite_note-100"><span class="mw-cite-backlink"><a href="#cite_ref-100">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html#isInstance(java.lang.Object)">isInstance()</a></code></span> </li> <li id="cite_note-101"><span class="mw-cite-backlink"><a href="#cite_ref-101">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html">Throwable</a></code></span> </li> <li id="cite_note-102"><span class="mw-cite-backlink"><a href="#cite_ref-102">↑</a></span> <span class="reference-text"><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html">AutoCloseable</a></code></span> </li> </ol></div></div> <div class="mw-heading mw-heading3"><h3 id="Источники"><span id=".D0.98.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B8"></span>Источники</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=73" title="Редактировать раздел «Источники»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=73" title="Редактировать код раздела «Источники»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="reflist columns" style="list-style-type: decimal;"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-_fd34c11ce3184bd5-1"><span class="mw-cite-backlink">↑ <a href="#cite_ref-_fd34c11ce3184bd5_1-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-_fd34c11ce3184bd5_1-1"><sup><i><b>2</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/">https://www.oracle.com/java/</a><span class="wef_low_priority_links"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/23all-relnotes.html">JDK 23 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.</span></span> </li> <li id="cite_note-_48acebb557b8c2b7-3"><span class="mw-cite-backlink"><a href="#cite_ref-_48acebb557b8c2b7_3-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-java-open-source-c-est-fait-et-c-est-en-gpl-21350.html">https://www.lemondeinformatique.fr/actualites/lire-java-open-source-c-est-fait-et-c-est-en-gpl-21350.html</a><span class="wef_low_priority_links"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r141305934">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a::after,.mw-parser-output .id-lock-limited a::after,.mw-parser-output .id-lock-registration a::after,.mw-parser-output .id-lock-subscription a::after,.mw-parser-output .cs1-ws-icon a::after{content:"";width:1.1em;height:1.1em;display:inline-block;vertical-align:middle;background-position:center;background-repeat:no-repeat;background-size:contain}.mw-parser-output .id-lock-free.id-lock-free a::after{background-image:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")}.mw-parser-output .id-lock-limited.id-lock-limited a::after,.mw-parser-output .id-lock-registration.id-lock-registration a::after{background-image:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")}.mw-parser-output .id-lock-subscription.id-lock-subscription a::after{background-image:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")}.mw-parser-output .cs1-ws-icon a::after{background-image:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}html.skin-theme-clientpref-night .mw-parser-output .id-lock-free a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-limited a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-registration a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-subscription a::after{filter:invert(1)hue-rotate(180deg)}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}html.skin-theme-clientpref-os .mw-parser-output .id-lock-free a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-limited a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-registration a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-subscription a::after{filter:invert(1)hue-rotate(180deg)}}</style><cite class="citation news cs1 cs1-prop-foreign-lang-source"><a rel="nofollow" class="external text" href="https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020">"Top Programming Languages 2020"</a>. <i>IEEE Spectrum</i>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210118190122/https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020">Архивировано</a> <span class="date">18 января 2021</span><span class="reference-accessdate">. Дата обращения: <span class="date">14 февраля 2021</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Spectrum&amp;rft.atitle=Top+Programming+Languages+2020&amp;rft_id=https%3A%2F%2Fspectrum.ieee.org%2Fat-work%2Ftech-careers%2Ftop-programming-language-2020&amp;rfr_id=info%3Asid%2Fru.wikipedia.org%3AJava" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.tiobe.com/tiobe-index/">TIOBE Index | TIOBE&#160;— The Software Quality Company</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;www.tiobe.com.&#32;Дата обращения: 19 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180225101948/https://www.tiobe.com/tiobe-index/">Архивировано</a> 25 февраля 2018 года.</span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Buyya.</i>&#32;<a rel="nofollow" class="external text" href="https://books.google.ru/books?id=rXGMFYXFDwMC&amp;pg=PA34&amp;dq=James+gosling+oak&amp;hl=ru&amp;sa=X&amp;ved=0ahUKEwiB9PfT-s3eAhXMqIsKHSC7BIkQ6AEILDAA">Object-oriented Programming with Java: Essentials and Applications</a>.&#160;— Tata McGraw-Hill Education, 2009.&#160;— 678&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9780070669086" class="internal mw-magiclink-isbn">ISBN 9780070669086</a>.&#32;<small><a rel="nofollow" class="external text" href="https://web.archive.org/web/20181112101707/https://books.google.ru/books?id=rXGMFYXFDwMC&amp;pg=PA34&amp;dq=James+gosling+oak&amp;hl=ru&amp;sa=X&amp;ved=0ahUKEwiB9PfT-s3eAhXMqIsKHSC7BIkQ6AEILDAA#v=onepage&amp;q=James%20gosling%20oak&amp;f=false">Архивировано</a> 12&#160;ноября 2018&#160;года.</small></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://temofeev.ru/info/articles/star7-s-chego-nachinalas-java/">Star7: с чего начиналась Java</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 2 октября 2022.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20221002075116/https://temofeev.ru/info/articles/star7-s-chego-nachinalas-java/">Архивировано</a> 2 октября 2022 года.</span></span> </li> <li id="cite_note-slow_java-9"><span class="mw-cite-backlink">↑ <a href="#cite_ref-slow_java_9-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-slow_java_9-1"><sup><i><b>2</b></i></sup></a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110614210615/http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&amp;lang=java">Java 6 -server speed ÷ C++ GNU g++ speed | Computer Language Benchmarks Game</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 4 марта 2010.&#32;Архивировано из <a rel="nofollow" class="external text" href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&amp;lang=java">оригинала</a> 14 июня 2011 года.</span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text"><span class="citation"><i>Metz, Cade.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="https://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/">Google pits C++ against Java, Scala, and Go</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<a href="/wiki/The_Register" title="The Register">The Register</a>&#32;(3 июня 2011).&#32;Дата обращения: 5 июня 2011.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170nFPxZ?url=http://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text"><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>&#160;<small class="ref-info" style="cursor:help;" title="Размер файла 0.3 МБ">(0.3 МБ)</small> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20111116151424/https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf">Архивная копия</a> от 16 ноября 2011 на <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://www.opennet.ru/opennews/art.shtml?num=30784">В Google провели сравнение производительности C++, Java, Go и Scala</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 5 июня 2011.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20110608232010/http://www.opennet.ru/opennews/art.shtml?num=30784">Архивировано</a> 8 июня 2011 года.</span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text"><span class="citation"><i>Robert Tolksdorf.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://www.is-research.de/info/vmlanguages/">Programming languages for the Java Virtual Machine JVM</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;is-research GmbH.&#160;— Онлайн-каталог альтернативных языков и языковых расширений для JVM.&#32;Дата обращения: 5 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170nqDc9?url=http://www.is-research.de/info/vmlanguages/">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080210044125/http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml">SUN SHIPS JDK 1.1 -- JAVABEANS INCLUDED</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>&#32;(10 февраля 2008).&#32;Дата обращения: 17 ноября 2018.&#32;Архивировано 10 февраля 2008 года.</span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20040119200016/http://sun.com/981201/java2/;$sessionid$T0SCTOIAFC41FAMUVFZE3NUBSSUXEUDO">Java 2 Software</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>&#32;(19 января 2004).&#32;Дата обращения: 17 ноября 2018.&#32;Архивировано 19 января 2004 года.</span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://archive.adaic.com/standards/83lrm/html/lrm-12-01.html#12.1">Ada 83 LRM, Sec 12.1: Generic Declarations</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;archive.adaic.com.&#32;Дата обращения: 17 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20190417155441/http://archive.adaic.com/standards/83lrm/html/lrm-12-01.html#12.1">Архивировано</a> 17 апреля 2019 года.</span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/6/docs/technotes/guides/collections/changes6.html">Collections Framework Enhancements</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;oracle.com.&#32;Дата обращения: 12 сентября 2023.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20231125190420/https://docs.oracle.com/javase/6/docs/technotes/guides/collections/changes6.html">Архивировано</a> 25 ноября 2023 года.</span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://java.sun.com/performance/reference/whitepapers/6_performance.html#2.3">Результаты тестов</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 13 сентября 2012.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20120625232327/http://java.sun.com/performance/reference/whitepapers/6_performance.html#2.3">Архивировано</a> 25 июня 2012 года.</span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#5">JavaFX FAQ</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;www.oracle.com.&#32;Дата обращения: 17 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181029152754/https://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#5">Архивировано</a> 29 октября 2018 года.</span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><cite id="CITEREFSmith" class="citation news cs1">Smith, Donald. <a rel="nofollow" class="external text" href="https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates">"The Future of JavaFX and Other Java Client Roadmap Updates"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181117154003/https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates">Архивировано</a> <span class="date">17 ноября 2018</span><span class="reference-accessdate">. Дата обращения: <span class="date">17 ноября 2018</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=The+Future+of+JavaFX+and+Other+Java+Client+Roadmap+Updates&amp;rft.aulast=Smith&amp;rft.aufirst=Donald&amp;rft_id=https%3A%2F%2Fblogs.oracle.com%2Fjava-platform-group%2Fthe-future-of-javafx-and-other-java-client-roadmap-updates&amp;rfr_id=info%3Asid%2Fru.wikipedia.org%3AJava" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://openjdk.java.net/projects/jdk7/">план разработки для JDK7</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 4 июля 2011.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210108163810/http://openjdk.java.net/projects/jdk7/">Архивировано</a> 8 января 2021 года.</span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://mreinhold.org/blog/plan-b">План Б</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 4 июля 2011.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20110711153437/http://mreinhold.org/blog/plan-b">Архивировано</a> 11 июля 2011 года.</span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://openjdk.java.net/projects/coin/">OpenJDK: Project Coin</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;openjdk.java.net.&#32;Дата обращения: 17 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6B9wslN3c?url=http://openjdk.java.net/projects/coin/">Архивировано</a> 4 октября 2012 года.</span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://citforum.ru/news/26682/">Компания Oracle анонсировала выход Java Standard Edition 7</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110803050831/http://citforum.ru/news/26682/">Архивная копия</a> от 3 августа 2011 на <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>&#160;<small class="ref-info" style="cursor:help;" title="на русском языке">(рус.)</small></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.lucidimagination.com/search/document/1a0d3986e48a9348/warning_index_corruption_and_crashes_in_apache_lucene_core_apache_solr_with_java_7">Index corruption and crashes in Apache Lucene Core / Apache Solr with Java 7</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210809094854/http://www.lucidimagination.com/search/document/1a0d3986e48a9348/warning_index_corruption_and_crashes_in_apache_lucene_core_apache_solr_with_java_7">Архивная копия</a> от 9 августа 2021 на <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://ntv.ifmo.ru/ru/article/515/aktornoe_rasshirenie_yazyka_JAVA_v_srede_MPS.htm">Акторное расширение языка Java в среде MPS</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150429090618/http://ntv.ifmo.ru/ru/article/515/aktornoe_rasshirenie_yazyka_JAVA_v_srede_MPS.htm">Архивная копия</a> от 29 апреля 2015 на <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.&#160;— вестник ИТМО.&#160;— Вып 6 (94)</span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><a href="#cite_ref-30">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html">What's New in JDK 8</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;www.oracle.com.&#32;Дата обращения: 17 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20200413130210/https://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html">Архивировано</a> 13 апреля 2020 года.</span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><a href="#cite_ref-31">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">Method References</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>The Java™ Tutorials</i>.&#32;docs.oracle.com.&#32;Дата обращения: 17 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181021122518/https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">Архивировано</a> 21 октября 2018 года.</span></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><a href="#cite_ref-32">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.theregister.co.uk/2016/09/14/jdk_9_release_delay/">JDK 9 release delayed another four months</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 17 мая 2017.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20170509120833/http://www.theregister.co.uk/2016/09/14/jdk_9_release_delay">Архивировано</a> 9 мая 2017 года.</span></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><a href="#cite_ref-33">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://www.infoworld.com/article/3176593/java/java-9-gets-a-release-date-july-27.html">Java 9 gets a release date: July 27</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 17 мая 2017.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20170517133103/http://www.infoworld.com/article/3176593/java/java-9-gets-a-release-date-july-27.html">Архивировано</a> 17 мая 2017 года.</span></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><a href="#cite_ref-34">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://jaxenter.com/java-9-schedule-change-sept-134484.html">Java 9 delayed to September 21</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 29 июля 2017.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20170729181402/https://jaxenter.com/java-9-schedule-change-sept-134484.html">Архивировано</a> 29 июля 2017 года.</span></span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><a href="#cite_ref-35">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://www.oracle.com/corporate/pressrelease/java-se-9-and-ee-8-092117.html">Oracle Announces Java SE 9 and Java EE 8. Press Release</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>Oracle</i>&#32;(21 сентября 2017).&#32;Дата обращения: 1 августа 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181002112135/https://www.oracle.com/corporate/pressrelease/java-se-9-and-ee-8-092117.html">Архивировано</a> 2 октября 2018 года.</span></span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><a href="#cite_ref-36">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/projects/jigsaw/">Project Jigsaw</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 24 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210109223445/http://openjdk.java.net/projects/jigsaw/">Архивировано</a> 9 января 2021 года.</span></span> </li> <li id="cite_note-37"><span class="mw-cite-backlink"><a href="#cite_ref-37">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/102">JEP 102: Process API Updates</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180906195748/http://openjdk.java.net/jeps/102">Архивировано</a> 6 сентября 2018 года.</span></span> </li> <li id="cite_note-:0-38"><span class="mw-cite-backlink">↑ <a href="#cite_ref-:0_38-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-:0_38-1"><sup><i><b>2</b></i></sup></a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/110">JEP 110: HTTP/2 Client (Incubator)</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180902080410/http://openjdk.java.net/jeps/110">Архивировано</a> 2 сентября 2018 года.</span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><a href="#cite_ref-39">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/11">JEP 11: Incubator Modules</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180915233512/http://openjdk.java.net/jeps/11">Архивировано</a> 15 сентября 2018 года.</span></span> </li> <li id="cite_note-41"><span class="mw-cite-backlink"><a href="#cite_ref-41">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/254">JEP 254: Compact Strings</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180908193126/http://openjdk.java.net/jeps/254">Архивировано</a> 8 сентября 2018 года.</span></span> </li> <li id="cite_note-42"><span class="mw-cite-backlink"><a href="#cite_ref-42">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/287">JEP 287: SHA-3 Hash Algorithms</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180906195638/http://openjdk.java.net/jeps/287">Архивировано</a> 6 сентября 2018 года.</span></span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><a href="#cite_ref-43">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/277">JEP 277: Enhanced Deprecation</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>OpenJDK</i>.&#32;Дата обращения: 6 сентября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180919074206/http://openjdk.java.net/jeps/277">Архивировано</a> 19 сентября 2018 года.</span></span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><a href="#cite_ref-44">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/17/language/java-language-changes.html">Java Language Updates</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;www.oracle.com.&#32;Дата обращения: 14 ноября 2021.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20211114123350/https://docs.oracle.com/en/java/javase/17/language/java-language-changes.html">Архивировано</a> 14 ноября 2021 года.</span></span> </li> <li id="cite_note-45"><span class="mw-cite-backlink"><a href="#cite_ref-45">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/283">JEP 283: Enable GTK 3 on Linux</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;openjdk.java.net.&#32;Дата обращения: 25 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181124232023/http://openjdk.java.net/jeps/283">Архивировано</a> 24 ноября 2018 года.</span></span> </li> <li id="cite_note-Java-10-032018-46"><span class="mw-cite-backlink"><a href="#cite_ref-Java-10-032018_46-0">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://www.oracle.com/corporate/pressrelease/Java-10-032018.html">Oracle Java SE 10 Release Arrives</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;ORACLE.&#32;Дата обращения: 24 июня 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180320171607/https://www.oracle.com/corporate/pressrelease/Java-10-032018.html">Архивировано</a> 20 марта 2018 года.</span></span> </li> <li id="cite_note-47"><span class="mw-cite-backlink"><a href="#cite_ref-47">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/286">JEP 286: Local-Variable Type Inference</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118205859/https://openjdk.java.net/jeps/286">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-48"><span class="mw-cite-backlink"><a href="#cite_ref-48">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/304">JEP 304: Garbage Collector Interface</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 20 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181003145121/http://openjdk.java.net/jeps/304">Архивировано</a> 3 октября 2018 года.</span></span> </li> <li id="cite_note-49"><span class="mw-cite-backlink"><a href="#cite_ref-49">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/307">JEP 307: Parallel Full GC for G1</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 21 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181003145703/http://openjdk.java.net/jeps/307">Архивировано</a> 3 октября 2018 года.</span></span> </li> <li id="cite_note-50"><span class="mw-cite-backlink"><a href="#cite_ref-50">↑</a></span> <span class="reference-text"><span class="citation"><i>Алексей Рагозин.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://blog.ragozin.info/2012/10/safepoints-in-hotspot-jvm.html">Safepoints in HotSpot JVM</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;blog.ragozin.info.&#32;Дата обращения: 24 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181124220256/http://blog.ragozin.info/2012/10/safepoints-in-hotspot-jvm.html">Архивировано</a> 24 ноября 2018 года.</span></span> </li> <li id="cite_note-51"><span class="mw-cite-backlink"><a href="#cite_ref-51">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/312">JEP 312: Thread-Local Handshakes</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 24 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181021234625/http://openjdk.java.net/jeps/312">Архивировано</a> 21 октября 2018 года.</span></span> </li> <li id="cite_note-52"><span class="mw-cite-backlink"><a href="#cite_ref-52">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/314">JEP 314: Additional Unicode Language-Tag Extensions</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 22 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181005020636/http://openjdk.java.net/jeps/314">Архивировано</a> 5 октября 2018 года.</span></span> </li> <li id="cite_note-53"><span class="mw-cite-backlink"><a href="#cite_ref-53">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/316">JEP 316: Heap Allocation on Alternative Memory Devices</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 24 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181022002624/http://openjdk.java.net/jeps/316">Архивировано</a> 22 октября 2018 года.</span></span> </li> <li id="cite_note-54"><span class="mw-cite-backlink"><a href="#cite_ref-54">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/317">JEP 317: Experimental Java-Based JIT Compiler</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 22 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181124182636/http://openjdk.java.net/jeps/317">Архивировано</a> 24 ноября 2018 года.</span></span> </li> <li id="cite_note-55"><span class="mw-cite-backlink"><a href="#cite_ref-55">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/322">JEP 322: Time-Based Release Versioning</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 22 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181031073021/http://openjdk.java.net/jeps/322">Архивировано</a> 31 октября 2018 года.</span></span> </li> <li id="cite_note-56"><span class="mw-cite-backlink"><a href="#cite_ref-56">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/181">JEP 181: Nest-Based Access Control</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118205904/https://openjdk.java.net/jeps/181">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-57"><span class="mw-cite-backlink"><a href="#cite_ref-57">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/318">JEP 318: Epsilon: A No-Op Garbage Collector (Experimental)</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118164732/https://openjdk.java.net/jeps/318">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-58"><span class="mw-cite-backlink"><a href="#cite_ref-58">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/321">JEP 321: HTTP Client (Standard)</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181124195519/http://openjdk.java.net/jeps/321">Архивировано</a> 24 ноября 2018 года.</span></span> </li> <li id="cite_note-59"><span class="mw-cite-backlink"><a href="#cite_ref-59">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/323">JEP 323: Local-Variable Syntax for Lambda Parameters</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181115181413/https://openjdk.java.net/jeps/323">Архивировано</a> 15 ноября 2018 года.</span></span> </li> <li id="cite_note-60"><span class="mw-cite-backlink"><a href="#cite_ref-60">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/327">JEP 327: Unicode 10</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118205902/https://openjdk.java.net/jeps/327">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-61"><span class="mw-cite-backlink"><a href="#cite_ref-61">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/332">JEP 332: Transport Layer Security (TLS) 1.3</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118205848/https://openjdk.java.net/jeps/332">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-62"><span class="mw-cite-backlink"><a href="#cite_ref-62">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.java.net/jeps/333">JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;openjdk.java.net.&#32;Дата обращения: 18 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181118205724/https://openjdk.java.net/jeps/333">Архивировано</a> 18 ноября 2018 года.</span></span> </li> <li id="cite_note-63"><span class="mw-cite-backlink"><a href="#cite_ref-63">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/12-relnotes.html">JDK 12 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 24 сентября 2023.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20230927213948/https://www.oracle.com/java/technologies/javase/12-relnotes.html">Архивировано</a> 27 сентября 2023 года.</span></span> </li> <li id="cite_note-Java_language_changes_history-64"><span class="mw-cite-backlink">↑ <a href="#cite_ref-Java_language_changes_history_64-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-1"><sup><i><b>2</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-2"><sup><i><b>3</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-3"><sup><i><b>4</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-4"><sup><i><b>5</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-5"><sup><i><b>6</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-6"><sup><i><b>7</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-7"><sup><i><b>8</b></i></sup></a> <a href="#cite_ref-Java_language_changes_history_64-8"><sup><i><b>9</b></i></sup></a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.java.com/releases/">JDK Releases</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20220604052722/https://www.java.com/releases/">Архивировано</a> 4 июня 2022 года.</span></span> </li> <li id="cite_note-65"><span class="mw-cite-backlink"><a href="#cite_ref-65">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/13-relnote-issues.html">JDK 13 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116162156/https://www.oracle.com/java/technologies/javase/13-relnote-issues.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-66"><span class="mw-cite-backlink"><a href="#cite_ref-66">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/14all-relnotes.html">Consolidated JDK 14 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116162157/https://www.oracle.com/java/technologies/javase/14all-relnotes.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-67"><span class="mw-cite-backlink"><a href="#cite_ref-67">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/15-relnote-issues.html">JDK 15 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116162157/https://www.oracle.com/java/technologies/javase/15-relnote-issues.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-68"><span class="mw-cite-backlink"><a href="#cite_ref-68">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/16-relnote-issues.html">JDK 16 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116162157/https://www.oracle.com/java/technologies/javase/16-relnote-issues.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-69"><span class="mw-cite-backlink"><a href="#cite_ref-69">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/17all-relnotes.html">Consolidated JDK 17 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116220241/https://www.oracle.com/java/technologies/javase/17all-relnotes.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-70"><span class="mw-cite-backlink"><a href="#cite_ref-70">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/18-relnote-issues.html">JDK 18 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20230418230858/https://www.oracle.com/java/technologies/javase/18-relnote-issues.html">Архивировано</a> 18 апреля 2023 года.</span></span> </li> <li id="cite_note-71"><span class="mw-cite-backlink"><a href="#cite_ref-71">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/19-relnote-issues.html">JDK 19 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20230920091306/https://www.oracle.com/java/technologies/javase/19-relnote-issues.html">Архивировано</a> 20 сентября 2023 года.</span></span> </li> <li id="cite_note-72"><span class="mw-cite-backlink"><a href="#cite_ref-72">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/20-relnote-issues.html">JDK 20 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20230912062028/https://www.oracle.com/java/technologies/javase/20-relnote-issues.html">Архивировано</a> 12 сентября 2023 года.</span></span> </li> <li id="cite_note-73"><span class="mw-cite-backlink"><a href="#cite_ref-73">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.oracle.com/java/technologies/javase/21-relnote-issues.html">JDK 21 Release Notes</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;Дата обращения: 16 января 2024.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240116230823/https://www.oracle.com/java/technologies/javase/21-relnote-issues.html">Архивировано</a> 16 января 2024 года.</span></span> </li> <li id="cite_note-74"><span class="mw-cite-backlink"><a href="#cite_ref-74">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><cite id="CITEREFDelabassee" class="citation news cs1">Delabassee, David. <a rel="nofollow" class="external text" href="https://blogs.oracle.com/theaquarium/opening-up-ee-update">"Opening Up Java EE - An Update"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181126010151/https://blogs.oracle.com/theaquarium/opening-up-ee-update">Архивировано</a> <span class="date">26 ноября 2018</span><span class="reference-accessdate">. Дата обращения: <span class="date">25 ноября 2018</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Opening+Up+Java+EE+-+An+Update&amp;rft.aulast=Delabassee&amp;rft.aufirst=David&amp;rft_id=https%3A%2F%2Fblogs.oracle.com%2Ftheaquarium%2Fopening-up-ee-update&amp;rfr_id=info%3Asid%2Fru.wikipedia.org%3AJava" class="Z3988"></span></span> </li> <li id="cite_note-75"><span class="mw-cite-backlink"><a href="#cite_ref-75">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><cite class="citation news cs1 cs1-prop-foreign-lang-source"><a rel="nofollow" class="external text" href="https://eclipse-foundation.blog/2018/02/26/and-the-name-is/">"And the Name Is…"</a>. <i>Life at Eclipse</i>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small>. 2018-02-26. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20181126010008/https://eclipse-foundation.blog/2018/02/26/and-the-name-is/">Архивировано</a> <span class="date">26 ноября 2018</span><span class="reference-accessdate">. Дата обращения: <span class="date">25 ноября 2018</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Life+at+Eclipse&amp;rft.atitle=And+the+Name+Is%E2%80%A6&amp;rft.date=2018-02-26&amp;rft_id=https%3A%2F%2Feclipse-foundation.blog%2F2018%2F02%2F26%2Fand-the-name-is%2F&amp;rfr_id=info%3Asid%2Fru.wikipedia.org%3AJava" class="Z3988"></span></span> </li> <li id="cite_note-76"><span class="mw-cite-backlink"><a href="#cite_ref-76">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://openjdk.java.net/jeps/320">JEP 320: Remove the Java EE and CORBA Modules</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;openjdk.java.net.&#32;Дата обращения: 25 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181124235611/http://openjdk.java.net/jeps/320">Архивировано</a> 24 ноября 2018 года.</span></span> </li> <li id="cite_note-msjvm-77"><span class="mw-cite-backlink">↑ <a href="#cite_ref-msjvm_77-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-msjvm_77-1"><sup><i><b>2</b></i></sup></a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://www.microsoft.com/About/Legal/EN/US/Interoperability/Java/Default.aspx">Microsoft Java Virtual Machine Support</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Microsoft&#32;(12 сентября 2003).&#160;— Официальное заявление Microsoft о программе поддержки MSJVM.&#32;Дата обращения: 9 октября 2010.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170oubDn?url=http://www.microsoft.com/About/Legal/EN/US/Interoperability/Java/Default.aspx">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-78"><span class="mw-cite-backlink"><a href="#cite_ref-78">↑</a></span> <span class="reference-text"><span class="citation"><span lang="ru"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/ru-ru/library/7xsxf8e2(VS.90).aspx">Visual J#</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<span class="ref-info" style="cursor:help;" title="на русском языке">(рус.)</span></span>.&#32;Microsoft&#32;(ноябрь 2007).&#160;— Официальная информация Microsoft об исключении J# из комплекта Visual Studio 2008.&#32;Дата обращения: 10 октября 2010.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170pJXt3?url=http://msdn.microsoft.com/ru-ru/library/7xsxf8e2(VS.90).aspx">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-79"><span class="mw-cite-backlink"><a href="#cite_ref-79">↑</a></span> <span class="reference-text"><span class="citation"><i>Todd Hoff.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://highscalability.com/amazon-architecture">Amazon Architecture</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>&#32;(18 сентября 2007).&#160;— Обсуждение архитектуры Amazon с использованием Java-технологий.&#32;Дата обращения: 6 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090228222248/http://highscalability.com/amazon-architecture">Архивировано</a> 28 февраля 2009 года.</span></span> </li> <li id="cite_note-80"><span class="mw-cite-backlink"><a href="#cite_ref-80">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://aws.amazon.com/ec2/">Amazon Elastic Compute Cloud (Amazon EC2)</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Amazon Web Services LLC.&#160;— Описание технологии и возможностей Amazon EC2 как веб-сервиса.&#32;Дата обращения: 6 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170rMoFx?url=http://aws.amazon.com/ec2/">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-81"><span class="mw-cite-backlink"><a href="#cite_ref-81">↑</a></span> <span class="reference-text"><span class="citation"><i>Todd Hoff.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://highscalability.com/ebay-architecture">eBay Architecture</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>&#32;(27 мая 2008).&#160;— Обсуждение архитектуры eBay на платформе Java.&#32;Дата обращения: 6 сентября 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170rzVA7?url=http://highscalability.com/ebay-architecture">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-82"><span class="mw-cite-backlink"><a href="#cite_ref-82">↑</a></span> <span class="reference-text"><span class="citation"><i>Randy Shoup, Dan Pritchett.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf">The eBay Architecture</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;<i>SD Forum 2006</i>.&#32;???&#32;(29 ноября 2006).&#160;— Презентация по истории развития архитектуры eBay.&#32;Дата обращения: 6 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170saktV?url=http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-83"><span class="mw-cite-backlink"><a href="#cite_ref-83">↑</a></span> <span class="reference-text"><span class="citation"><i>Brian Guan.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="http://blog.linkedin.com/2008/06/11/grails-at-linkedin/">The LinkedIn Blog. Blog Archive. Grails at LinkedIn</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;LinkedIn.com&#32;(11 июня 2008).&#160;— История создания системы LinkedIn на основе Java-технологии Grails.&#32;Дата обращения: 5 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170ueU7e?url=http://blog.linkedin.com/2008/06/11/grails-at-linkedin/">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-84"><span class="mw-cite-backlink"><a href="#cite_ref-84">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://developer.yahoo.com/hadoop/">Hadoop and Distributed Computing at Yahoo!</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Yahoo!.&#160;— Стартовая страница Java-технологии распределённого обслуживания Hadoop на портале разработчиков Yahoo!&#32;Дата обращения: 21 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170vguJb?url=http://developer.yahoo.com/hadoop/">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-85"><span class="mw-cite-backlink"><a href="#cite_ref-85">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://www.oracle.com/technology/tech/java/jsp/index.html">OracleJVM and Java Stored Procedures</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Oracle Inc..&#160;— Раздел портала Oracle, посвящённый технологиям Java в составе сервера СУБД Oracle.&#32;Дата обращения: 5 июня 2009.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170wCzk5?url=http://www.oracle.com/technetwork/topics/index.html">Архивировано</a> 21 августа 2011 года.</span></span> </li> <li id="cite_note-87"><span class="mw-cite-backlink"><a href="#cite_ref-87">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php?gcc=on&amp;javasteady=on&amp;java=on&amp;csharp=on&amp;javaxint=on&amp;calc=chart">Ubuntu: Intel® Q6600® quad-core Computer Language Benchmarks</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/68bfPITT0?url=http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php?gcc=on">Архивировано</a> 22 июня 2012 года.</span></span> </li> <li id="cite_note-88"><span class="mw-cite-backlink"><a href="#cite_ref-88">↑</a></span> <span class="reference-text"><span class="citation"><i>Wolfgang Puffitsch, Martin Schoeberl.</i>&#32;<a rel="nofollow" class="external text" href="http://orbit.dtu.dk/files/4176066/pjfpga.pdf">picoJava-II in an FPGA</a>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small>&#160;// DTU Library.&#160;— 2007.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181202202734/http://orbit.dtu.dk/files/4176066/pjfpga.pdf">Архивировано</a> 2&#160;декабря 2018&#160;года.</span></span> </li> <li id="cite_note-90"><span class="mw-cite-backlink"><a href="#cite_ref-90">↑</a></span> <span class="reference-text">JVM не имеет поддержки для переменных типа boolean, поэтому они представляются в виде значений типа int. Однако массивы boolean[] поддерживаются. <a rel="nofollow" class="external text" href="http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#22909">VM Spec The Structure of the Java Virtual Machine</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20111124105915/http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#22909">Архивная копия</a> от 24 ноября 2011 на <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-91"><span class="mw-cite-backlink"><a href="#cite_ref-91">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://openjdk.org/jeps/306">JEP 306: Restore Always-Strict Floating-Point Semantics</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Дата обращения: 21 ноября 2022.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20221121205320/https://openjdk.org/jeps/306">Архивировано</a> 21 ноября 2022 года.</span></span> </li> <li id="cite_note-92"><span class="mw-cite-backlink"><a href="#cite_ref-92">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i><a href="/wiki/%D0%91%D1%8C%D1%8F%D1%80%D0%BD_%D0%A1%D1%82%D1%80%D0%B0%D1%83%D1%81%D1%82%D1%80%D1%83%D0%BF" class="mw-redirect" title="Бьярн Страуструп">Бьярн Страуструп</a>.</i>&#32;Язык программирования C++&#32;&#61;&#32;The C++ Programming Language.&#160;— М.—СПб.: Бином, Невский диалект, 2008.&#160;— 1104&#160;с.&#160;— <span class="nowrap">5000 экз.</span>&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/5798902262" class="internal mw-magiclink-isbn">ISBN 5-7989-0226-2</a>; <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/5794000643" class="internal mw-magiclink-isbn">ISBN 5-7940-0064-3</a>; <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/0201700735" class="internal mw-magiclink-isbn">ISBN 0-201-70073-5</a>.</span></span> </li> <li id="cite_note-93"><span class="mw-cite-backlink"><a href="#cite_ref-93">↑</a></span> <span class="reference-text"><span class="citation"><i><a href="/wiki/%D0%93%D0%BE%D1%81%D0%BB%D0%B8%D0%BD%D0%B3,_%D0%94%D0%B6%D0%B5%D0%B9%D0%BC%D1%81" title="Гослинг, Джеймс">Джеймс Гослинг</a>, Билл Джой, Гай Стил, Гилад Брача, Алекс Бакли, Даниел Смит.</i>&#32;<span lang="en"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.23">Java Language Specification</a></span>.&#32;Chapter&#160;15.&#160;Expressions&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;docs.oracle.com.&#32;Дата обращения: 1 декабря 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181201135332/https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.23">Архивировано</a> 1 декабря 2018 года.</span></span> </li> <li id="cite_note-96"><span class="mw-cite-backlink"><a href="#cite_ref-96">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html">Java API Reference</a></span>.&#32;Class Object&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;docs.oracle.com.&#32;Дата обращения: 26 ноября 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181126222346/https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html">Архивировано</a> 26 ноября 2018 года.</span></span> </li> <li id="cite_note-97"><span class="mw-cite-backlink"><a href="#cite_ref-97">↑</a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Scott Oaks.</i>&#32;<a rel="nofollow" class="external text" href="https://books.google.ru/books?id=aIhUAwAAQBAJ&amp;pg=PA195&amp;lpg=PA195&amp;dq=elementData%5B--size%5D+=+null;+//+Let+gc+do+its+work&amp;source=bl&amp;ots=E6Zs7rX4hE&amp;sig=g8RiFVjoILKL2o7mWRNrUWt_ytw&amp;hl=ru&amp;sa=X&amp;ved=2ahUKEwiBjvCGv_7eAhWUhaYKHfNaA-wQ6AEwCHoECAUQAQ">Java Performance: The Definitive Guide: Getting the Most Out of Your Code</a>.&#160;— "O'Reilly Media, Inc.", 2014-04-10.&#160;— 425&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9781449363543" class="internal mw-magiclink-isbn">ISBN 9781449363543</a>.&#32;<small><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210721005409/https://books.google.ru/books?id=aIhUAwAAQBAJ&amp;pg=PA195&amp;lpg=PA195&amp;dq=elementData%5B--size%5D+%3D+null%3B+%2F%2F+Let+gc+do+its+work&amp;source=bl&amp;ots=E6Zs7rX4hE&amp;sig=g8RiFVjoILKL2o7mWRNrUWt_ytw&amp;hl=ru&amp;sa=X&amp;ved=2ahUKEwiBjvCGv_7eAhWUhaYKHfNaA-wQ6AEwCHoECAUQAQ#v=onepage&amp;q=elementData%5B--size%5D%20=%20null;%20//%20Let%20gc%20do%20its%20work&amp;f=false">Архивировано</a> 21&#160;июля 2021&#160;года.</small></span></span> </li> <li id="cite_note-103"><span class="mw-cite-backlink"><a href="#cite_ref-103">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://www.artima.com/intv/handcuffs.html">The Trouble with Checked Exceptions</a></span><span class="hidden-ref" style="display:none;">&#160;&#160;<small class="ref-info" style="cursor:help;" title="на неопределённом языке">(неопр.)</small></span>.&#32;www.artima.com.&#32;Дата обращения: 21 декабря 2018.&#32;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20190108114501/https://www.artima.com/intv/handcuffs.html">Архивировано</a> 8 января 2019 года.</span></span> </li> <li id="cite_note-104"><span class="mw-cite-backlink"><a href="#cite_ref-104">↑</a></span> <span class="reference-text"><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="http://www.eclipse.org/pulsar/">Pulsar - Eclipse Mobile Tools Platform</a></span>&#160;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>.&#32;Eclipse.&#160;— Проект eclipse для мобильных разработчиков.&#32;Дата обращения: 23 марта 2011.&#32;<a rel="nofollow" class="external text" href="https://www.webcitation.org/6170xVuSz?url=http://www.eclipse.org/pulsar/">Архивировано</a> 21 августа 2011 года.</span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Литература"><span id=".D0.9B.D0.B8.D1.82.D0.B5.D1.80.D0.B0.D1.82.D1.83.D1.80.D0.B0"></span>Литература</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=74" title="Редактировать раздел «Литература»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=74" title="Редактировать код раздела «Литература»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Герберт Шилдт.</i>&#32;Java. Полное руководство, 10-е издание&#32;&#61;&#32;Java. The Complete Reference, 10th Edition.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Диалектика (издательство) (страница отсутствует)">«Диалектика»</a>, 2018.&#160;— 1488&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785604004364" class="internal mw-magiclink-isbn">ISBN 978-5-6040043-6-4</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Кей С. Хорстманн.</i>&#32;Java SE 9. Базовый курс&#32;&#61;&#32;Core Java SE 9 for the Impatient.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2018.&#160;— 576&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785604004302" class="internal mw-magiclink-isbn">ISBN 978-5-6040043-0-2</a>, 978-0-13-469472-6.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Кей С. Хорстманн.</i>&#32;Java SE 8. Вводный курс&#32;&#61;&#32;Java SE 8 for the Really Impatient.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2014.&#160;— 208&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785845919007" class="internal mw-magiclink-isbn">ISBN 978-5-8459-1900-7</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода.</i>&#32;Руководство для программиста на Java: 75 рекомендаций по написанию надёжных и защищённых программ&#32;&#61;&#32;Java Coding Guidelines: 75 Recommendations for Reliable and Secure Programs.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2014.&#160;— 256&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785845918970" class="internal mw-magiclink-isbn">ISBN 978-5-8459-1897-0</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Кей С. Хорстманн.</i>&#32;Java. Библиотека профессионала, том 1. Основы. 10-е издание&#32;&#61;&#32;Core Java. Volume I - Fundamentals (Tenth Edition).&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2017.&#160;— 864&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785845920843" class="internal mw-magiclink-isbn">ISBN 978-5-8459-2084-3</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Кей С. Хорстманн.</i>&#32;Java. Библиотека профессионала, том 2. Расширенные средства программирования. 10-е издание&#32;&#61;&#32;Core Java. Volume II - Advanced Feature (Tenth Edition).&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2017.&#160;— 976&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785990944503" class="internal mw-magiclink-isbn">ISBN 978-5-9909445-0-3</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Барри Берд.</i>&#32;Java 9 для чайников&#32;&#61;&#32;Java For Dummies, 7th edition.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Диалектика (издательство) (страница отсутствует)">«Диалектика»</a>, 2018.&#160;— 624&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785950029615" class="internal mw-magiclink-isbn">ISBN 978-5-9500296-1-5</a>, 978-1-119-23555-2.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Кишори Шаран.</i>&#32;Java 9. Полный обзор нововведений&#32;&#61;&#32;Java 9 Revealed.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%94%D0%9C%D0%9A_%D0%9F%D1%80%D0%B5%D1%81%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="ДМК Пресс (издательство) (страница отсутствует)">«ДМК Пресс»</a>, 2018.&#160;— 544&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785970605752" class="internal mw-magiclink-isbn">ISBN 978-5-97060-575-2</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Джеймс Гослинг, Билл Джой, Гай Стил, Гилад Брача, Алекс Бакли.</i>&#32;Язык программирования Java SE 8. Подробное описание, 5-е издание&#32;&#61;&#32;The Java Language Specification, Java SE 8 Edition (5th Edition) (Java Series).&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Вильямс (издательство) (страница отсутствует)">«Вильямс»</a>, 2015.&#160;— 672&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785845918758" class="internal mw-magiclink-isbn">ISBN 978-5-8459-1875-8</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Джошуа Блох.</i>&#32;Java. Эффективное программирование&#32;&#61;&#32;Effective Java.&#160;— 3-е.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Диалектика (издательство) (страница отсутствует)">Диалектика</a>, 2019.&#160;— 464&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785604139448" class="internal mw-magiclink-isbn">ISBN 978-5-6041394-4-8</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Бенджамин Дж. Эванс, Джеймс Гоф, Крис Ньюленд.</i>&#32;Java: оптимизация программ. Практические методы повышения производительности приложений в JVM.&#160;— <abbr title="Москва">М.</abbr>: <a href="/w/index.php?title=%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&amp;action=edit&amp;redlink=1" class="new" title="Диалектика (издательство) (страница отсутствует)">Диалектика</a>, 2019.&#160;— 448&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785907114845" class="internal mw-magiclink-isbn">ISBN 978-5-907114-84-5</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Монахов Вадим.</i>&#32;Язык программирования Java и среда NetBeans.&#160;— 3-е изд.&#160;— <abbr title="Санкт-Петербург">СПб.</abbr>: <a href="/w/index.php?title=%D0%91%D0%A5%D0%92-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3&amp;action=edit&amp;redlink=1" class="new" title="БХВ-Петербург (страница отсутствует)">БХВ-Петербург</a>, 2011.&#160;— 704&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785977506717" class="internal mw-magiclink-isbn">ISBN 978-5-9775-0671-7</a>.</span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r141305934"><span class="citation no-wikidata" data-wikidata-property-id="P1343"><i>Брюс Эккель.</i>&#32;Философия Java&#32;&#61;&#32;Thinking in Java.&#160;— 4-е изд.&#160;— <abbr title="Санкт-Петербург">СПб.</abbr>: <a href="/wiki/%D0%9F%D0%B8%D1%82%D0%B5%D1%80_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)" title="Питер (издательство)">Питер</a>, 2018.&#160;— 1168&#160;с.&#160;— <a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8_%D0%BA%D0%BD%D0%B8%D0%B3/9785496011273" class="internal mw-magiclink-isbn">ISBN 978-5-496-01127-3</a>.</span></li></ul> <div class="mw-heading mw-heading2"><h2 id="Ссылки"><span id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></span>Ссылки</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java&amp;veaction=edit&amp;section=75" title="Редактировать раздел «Ссылки»" class="mw-editsection-visualeditor"><span>править</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Java&amp;action=edit&amp;section=75" title="Редактировать код раздела «Ссылки»"><span>править код</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/tutorial/">The Java Tutorials</a>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small>&#160;— обучающие материалы по Java 8</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090903064925/http://www.mindview.net/Books/DownloadSites">Bruce Eckel’s Free Electronic Books</a>&#160;<small class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</small>&#160;— свободно распространяемые электронные версии книг Брюса Эккеля по C++ и Java вместе с исходным кодом</li> <li><a rel="nofollow" class="external text" href="https://urvanov.ru/2016/03/23/учебник-java-8/">Учебник Java 8</a></li> <li><a rel="nofollow" class="external text" href="https://www.java.com/ru/">Официальный сайт Java</a></li></ul> <div role="navigation" class="navbox" aria-labelledby="Ссылки_на_внешние_ресурсы" data-name="External links" style="padding-top:1px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="colgroup" class="navbox-title" colspan="2" style="display:none"><span class="navbox-gear" style="float:left;text-align:left;width:5em;margin-right:0.5em"><span class="noprint skin-invert-image" typeof="mw:File"><a href="/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:External_links" title="Перейти к шаблону «External links»"><img alt="Перейти к шаблону «External links»" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/14px-Wikipedia_interwiki_section_gear_icon.svg.png" decoding="async" width="14" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/21px-Wikipedia_interwiki_section_gear_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/28px-Wikipedia_interwiki_section_gear_icon.svg.png 2x" data-file-width="14" data-file-height="14" /></a></span></span><div id="Ссылки_на_внешние_ресурсы" style="font-size:114%;margin:0 5em">Ссылки на внешние ресурсы</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1px"><div style="padding: 0 35px 0 0; width: 100%;"><div class="skin-invert-image" style="float: left;"><span class="noprint skin-invert-image" typeof="mw:File"><a href="/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%92%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B5_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" title="Перейти к шаблону «Внешние ссылки»"><img alt="Перейти к шаблону «Внешние ссылки»" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/14px-Wikipedia_interwiki_section_gear_icon.svg.png" decoding="async" width="14" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/21px-Wikipedia_interwiki_section_gear_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/28px-Wikipedia_interwiki_section_gear_icon.svg.png 2x" data-file-width="14" data-file-height="14" /></a></span>&#160;<span typeof="mw:File"><a href="https://www.wikidata.org/wiki/Q251#identifiers" title="Перейти к элементу Викиданных"><img alt="Перейти к элементу Викиданных" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/14px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="14" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/21px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/28px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></div>&#160;&#160;В социальных сетях</div></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 rel="nofollow" class="external text" href="https://twitter.com/java">X</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Тематические сайты</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 rel="nofollow" class="external text" href="https://www.openhub.net/p/java">Open Hub</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Словари и энциклопедии</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 class="external text" href="https://wikidata-externalid-url.toolforge.org/?p=8313&amp;url_prefix=https://denstoredanske.lex.dk/&amp;id=Java_-_programmeringssprog">Большая датская</a></li> <li><a rel="nofollow" class="external text" href="https://www.enciclopedia.cat/ec-gec-0247716.xml">Большая каталанская</a></li> <li><a rel="nofollow" class="external text" href="https://www.zgbk.com/ecph/words?SiteID=1&amp;ID=546625">Большая китайская</a></li> <li><a rel="nofollow" class="external text" href="https://snl.no/Java_-_programmeringsspråk">Большая норвежская</a></li> <li><a rel="nofollow" class="external text" href="https://www.britannica.com/technology/Java-computer-programming-language">Britannica (онлайн)</a></li> <li><a rel="nofollow" class="external text" href="https://www.sapere.it/enciclopedia/Java+(informatica).html">De Agostini</a></li> <li><a rel="nofollow" class="external text" href="https://www.treccani.it/enciclopedia/java">Treccani</a></li></ul> </div></td></tr><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em"><style data-mw-deduplicate="TemplateStyles:r113287755">.mw-parser-output .ts-navbox-plaintitle{font-size:100%!important;margin:0 6em!important}</style></div><table class="nowraplinks authoritycontrol collapsible collapsed navbox-subgroup" style="border-spacing:0;text-align: left;"><tbody><tr><th scope="colgroup" class="navbox-title" colspan="2"><div id="В_библиографических_каталогах" class="ts-navbox-plaintitle" style="font-size:114%;margin:0 5em">В&#160;библиографических каталогах</div></th></tr><tr><td class="navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%98%D1%81%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8" title="Национальная библиотека Испании">BNE</a>: <a rel="nofollow" class="external text" href="https://datos.bne.es/resource/XX540033">XX540033</a></li> <li><a href="/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D0%B8" title="Национальная библиотека Франции">BNF</a>: <a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb12533207m">12533207m</a></li> <li><a href="/wiki/Gemeinsame_Normdatei" title="Gemeinsame Normdatei">GND</a>: <a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4401313-9">4401313-9</a></li> <li><a href="/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%98%D0%B7%D1%80%D0%B0%D0%B8%D0%BB%D1%8F" title="Национальная библиотека Израиля">J9U</a>: <a rel="nofollow" class="external text" href="http://olduli.nli.org.il/F/?func=find-b&amp;local_base=NLX10&amp;find_code=UID&amp;request=987007561288105171">987007561288105171</a></li> <li><a href="/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_%D0%9A%D0%BE%D0%BD%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B0" title="Контрольный номер Библиотеки Конгресса">LCCN</a>: <a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh95008574">sh95008574</a></li> <li><a href="/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%A7%D0%B5%D1%88%D1%81%D0%BA%D0%BE%D0%B9_%D0%A0%D0%B5%D1%81%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B8" title="Национальная библиотека Чешской Республики">NKC</a>: <a rel="nofollow" class="external text" href="https://aleph.nkp.cz/F/?func=find-c&amp;local_base=aut&amp;ccl_term=ica=ph117027&amp;CON_LNG=ENG">ph117027</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table></div> <div role="navigation" class="navbox" aria-labelledby="Java" data-name="Java"><table class="nowraplinks collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="colgroup" class="navbox-title" colspan="2"><span class="navbox-gear" style="float:left;text-align:left;width:5em;margin-right:0.5em"><span class="noprint skin-invert-image" typeof="mw:File"><a href="/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Java" title="Перейти к шаблону «Java»"><img alt="Перейти к шаблону «Java»" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/14px-Wikipedia_interwiki_section_gear_icon.svg.png" decoding="async" width="14" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/21px-Wikipedia_interwiki_section_gear_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/28px-Wikipedia_interwiki_section_gear_icon.svg.png 2x" data-file-width="14" data-file-height="14" /></a></span></span><div id="Java" style="font-size:114%;margin:0 5em"><a class="mw-selflink selflink">Java</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1px">Платформы</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_Card" title="Java Card">Java Card</a></li> <li><a href="/wiki/Java_Platform,_Micro_Edition" title="Java Platform, Micro Edition">Java ME</a></li> <li><a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Java SE</a></li> <li><a href="/wiki/Jakarta_EE" title="Jakarta EE">Java EE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Технологии <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun</a></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 class="mw-selflink selflink">Java</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/Sun_Java_Wireless_Toolkit" title="Sun Java Wireless Toolkit">WTK</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/Java_API_for_XML_Processing" title="Java API for XML Processing">JAXP</a></li> <li><a href="/wiki/Squawk" title="Squawk">Squawk</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Основные сторонние технологии</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/GNU_Classpath" title="GNU Classpath">GNU Classpath</a></li> <li><a href="/wiki/GNU_Compiler_for_Java" title="GNU Compiler for Java">GNU Compiler for Java</a></li> <li><a href="/wiki/Kaffe" title="Kaffe">Kaffe</a></li> <li><span data-interwiki-lang="en" data-interwiki-article="Oracle TopLink"><a href="/w/index.php?title=Oracle_TopLink&amp;action=edit&amp;redlink=1" class="new" title="Oracle TopLink (страница отсутствует)">TopLink</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Oracle_TopLink" class="extiw" title="en:Oracle TopLink"><span title="Oracle TopLink — версия статьи «Oracle TopLink» на английском языке">[англ.]</span></a></sup></li> <li><a href="/wiki/Apache_Harmony" title="Apache Harmony">Apache Harmony</a></li> <li><a href="/wiki/Apache_Struts" title="Apache Struts">Apache Struts</a></li> <li><a href="/wiki/Spring_Framework" title="Spring Framework">Spring Framework</a></li> <li><a href="/wiki/Dalvik_virtual_machine" class="mw-redirect" title="Dalvik virtual machine">Dalvik</a></li> <li><a href="/wiki/Hibernate_(%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0)" title="Hibernate (библиотека)">Hibernate</a></li> <li><a href="/wiki/WildFly" title="WildFly">JBoss</a></li> <li><a href="/wiki/Processing" title="Processing">Processing</a></li> <li><a href="/wiki/AspectJ" title="AspectJ">AspectJ</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">История</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/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9_Java_SE" title="История версий Java SE">История версий Java SE</a></li> <li><a href="/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9_Java_EE" title="История версий Java EE">История версий Java EE</a></li> <li><a href="/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B8%D0%BA%D0%B0_Java" title="Критика Java">Критика Java</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><span data-interwiki-lang="en" data-interwiki-article="Free Java implementations"><a href="/w/index.php?title=%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_Java&amp;action=edit&amp;redlink=1" class="new" title="Свободные реализации Java (страница отсутствует)">Свободные реализации Java</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Free_Java_implementations" class="extiw" title="en:Free Java implementations"><span title="Free Java implementations — версия статьи «Свободные реализации Java» на английском языке">[англ.]</span></a></sup></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Свойства языка</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/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4" title="Байт-код">Байткод</a></li> <li><span data-interwiki-lang="en" data-interwiki-article="Java syntax"><a href="/w/index.php?title=%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81_Java&amp;action=edit&amp;redlink=1" class="new" title="Синтаксис Java (страница отсутствует)">Синтаксис</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Java_syntax" class="extiw" title="en:Java syntax"><span title="Java syntax — версия статьи «Синтаксис Java» на английском языке">[англ.]</span></a></sup></li> <li><a href="/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_Java" title="Модель памяти Java">Модель памяти</a></li> <li><a href="/wiki/Java-%D0%B0%D0%BF%D0%BF%D0%BB%D0%B5%D1%82" title="Java-апплет">Апплеты</a></li> <li><a href="/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%BB%D0%B5%D1%82_(Java)" title="Сервлет (Java)">Сервлеты</a></li> <li><a href="/wiki/%D0%9C%D0%B8%D0%B4%D0%BB%D0%B5%D1%82" title="Мидлет">Мидлеты</a></li> <li><a href="/wiki/JavaServer_Pages" title="JavaServer Pages">JavaServer Pages</a></li> <li><a href="/wiki/Java_Web_Start" title="Java Web Start">Web Start</a></li> <li><a href="/wiki/Enterprise_JavaBeans" title="Enterprise JavaBeans">Enterprise JavaBeans</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px"><a href="/wiki/%D0%A1%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Сценарный язык">Скриптовые языки</a></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/Jython" title="Jython">Jython</a></li> <li><a href="/wiki/JRuby" title="JRuby">JRuby</a></li> <li><a href="/w/index.php?title=BeanShell&amp;action=edit&amp;redlink=1" class="new" title="BeanShell (страница отсутствует)">BeanShell</a></li> <li><a href="/wiki/Groovy" title="Groovy">Groovy</a></li> <li><span data-interwiki-lang="en" data-interwiki-article="Judoscript"><a href="/w/index.php?title=Judoscript&amp;action=edit&amp;redlink=1" class="new" title="Judoscript (страница отсутствует)">Judoscript</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Judoscript" class="extiw" title="en:Judoscript"><span title="Judoscript — версия статьи «Judoscript» на английском языке">[англ.]</span></a></sup></li> <li><a href="/wiki/Bean_Scripting_Framework" title="Bean Scripting Framework">Bean Scripting Framework</a></li> <li><span data-interwiki-lang="en" data-interwiki-article="Yoix"><a href="/w/index.php?title=Yoix&amp;action=edit&amp;redlink=1" class="new" title="Yoix (страница отсутствует)">Yoix</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Yoix" class="extiw" title="en:Yoix"><span title="Yoix — версия статьи «Yoix» на английском языке">[англ.]</span></a></sup></li> <li><a href="/wiki/Rhino" title="Rhino">Rhino</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1px">Конференции Java</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><span data-interwiki-lang="en" data-interwiki-article="JavaOne"><a href="/w/index.php?title=JavaOne&amp;action=edit&amp;redlink=1" class="new" title="JavaOne (страница отсутствует)">JavaOne</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/JavaOne" class="extiw" title="en:JavaOne"><span title="JavaOne — версия статьи «JavaOne» на английском языке">[англ.]</span></a></sup></li> <li><span data-interwiki-lang="en" data-interwiki-article="Devoxx"><a href="/w/index.php?title=Devoxx&amp;action=edit&amp;redlink=1" class="new" title="Devoxx (страница отсутствует)">Devoxx</a></span><sup class="noprint" style="font-style:normal; font-weight:normal;"><a href="https://en.wikipedia.org/wiki/Devoxx" class="extiw" title="en:Devoxx"><span title="Devoxx — версия статьи «Devoxx» на английском языке">[англ.]</span></a></sup></li></ul> </div></td></tr></tbody></table></div> <div role="navigation" class="navbox" aria-labelledby="Языки_программирования" data-name="Языки программирования"><table class="nowraplinks hlist collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="colgroup" class="navbox-title" colspan="2"><span class="navbox-gear" style="float:left;text-align:left;width:5em;margin-right:0.5em"><span class="noprint skin-invert-image" typeof="mw:File"><a href="/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Перейти к шаблону «Языки программирования»"><img alt="Перейти к шаблону «Языки программирования»" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/14px-Wikipedia_interwiki_section_gear_icon.svg.png" decoding="async" width="14" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/21px-Wikipedia_interwiki_section_gear_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Wikipedia_interwiki_section_gear_icon.svg/28px-Wikipedia_interwiki_section_gear_icon.svg.png 2x" data-file-width="14" data-file-height="14" /></a></span></span><div id="Языки_программирования" style="font-size:114%;margin:0 5em"><a href="/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Язык программирования">Языки программирования</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="История языков программирования">История</a></li> <li><a href="/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Хронология языков программирования">Хронология</a></li></ul> </div></td></tr><tr><td class="navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/%D0%92%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_1%D0%A1:%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B5" title="Встроенный язык программирования 1С:Предприятие">1C</a></li> <li><a href="/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Ада (язык программирования)">Ада</a></li> <li><a href="/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D0%BB" title="Алгол">Алгол</a></li> <li><a href="/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80%D0%B0" title="Язык ассемблера">Ассемблер</a></li> <li><a href="/wiki/APL_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="APL (язык программирования)">APL</a></li> <li><a href="/wiki/%D0%91%D0%B5%D0%B9%D1%81%D0%B8%D0%BA" title="Бейсик">Бейсик</a></li> <li><a href="/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Си (язык программирования)">Си</a></li> <li><a href="/wiki/C%2B%2B" title="C++">C++</a></li> <li><a href="/wiki/C_Sharp" title="C Sharp">C#</a></li> <li><a href="/wiki/D_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="D (язык программирования)">D</a></li> <li><a href="/wiki/Delphi_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Delphi (язык программирования)">Delphi</a></li> <li><a href="/wiki/%D0%9A%D0%BE%D0%B1%D0%BE%D0%BB" title="Кобол">Кобол</a></li> <li><a href="/wiki/Erlang" title="Erlang">Erlang</a></li> <li><a href="/wiki/F_Sharp" title="F Sharp">F#</a></li> <li><a href="/wiki/%D0%A4%D0%BE%D1%80%D1%82_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Форт (язык программирования)">Форт</a></li> <li><a href="/wiki/%D0%A4%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD" title="Фортран">Фортран</a></li> <li><a href="/wiki/Go" title="Go">Go</a></li> <li><a href="/wiki/Groovy" title="Groovy">Groovy</a></li> <li><a href="/wiki/Haskell" title="Haskell">Haskell</a></li> <li><a class="mw-selflink selflink">Java</a></li> <li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></li> <li><a href="/wiki/Julia_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Julia (язык программирования)">Julia</a></li> <li><a href="/wiki/Kotlin" title="Kotlin">Kotlin</a></li> <li><a href="/wiki/%D0%9B%D0%B8%D1%81%D0%BF" title="Лисп">Лисп</a></li> <li><a href="/wiki/Lua" title="Lua">Lua</a></li> <li><a href="/wiki/MATLAB" title="MATLAB">MATLAB</a></li> <li><a href="/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Оберон (язык программирования)">Оберон</a></li> <li><a href="/wiki/Objective-C" title="Objective-C">Objective-C</a></li> <li><a href="/wiki/OCaml" title="OCaml">OCaml</a></li> <li><a href="/wiki/%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Паскаль (язык программирования)">Паскаль</a></li> <li><a href="/wiki/Perl" title="Perl">Perl</a></li> <li><a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a></li> <li><a href="/wiki/PHP" title="PHP">PHP</a></li> <li><a href="/wiki/Python" title="Python">Python</a></li> <li><a href="/wiki/Racket_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Racket (язык программирования)">Racket</a></li> <li><a href="/wiki/Ruby" title="Ruby">Ruby</a></li> <li><a href="/wiki/Rust_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Rust (язык программирования)">Rust</a></li> <li><a href="/wiki/Scala_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Scala (язык программирования)">Scala</a></li> <li><a href="/wiki/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BE%D0%B1%D0%BE%D0%BB%D0%BE%D1%87%D0%BA%D0%B0_Unix" title="Командная оболочка Unix">UNIX Shell</a></li> <li><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></li> <li><a href="/wiki/Swift_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Swift (язык программирования)">Swift</a></li> <li><a href="/wiki/Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a></li> <li><a href="/wiki/Zig_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Zig (язык программирования)">Zig</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐5dc468848‐zrwhc Cached time: 20241122215537 Cache expiry: 698671 Reduced expiry: true Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.646 seconds Real time usage: 2.559 seconds Preprocessor visited node count: 17780/1000000 Post‐expand include size: 265483/2097152 bytes Template argument size: 27487/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 45/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 195698/5000000 bytes Lua time usage: 0.926/10.000 seconds Lua memory usage: 13816094/52428800 bytes Number of Wikibase entities loaded: 34/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 2224.894 1 -total 41.01% 912.341 1 Шаблон:Карточка_языка_программирования 40.16% 893.551 1 Шаблон:Карточка 21.38% 475.647 3 Шаблон:Примечания 12.98% 288.723 7 Шаблон:Wikidata 8.70% 193.653 75 Шаблон:Cite_web 8.49% 188.949 2 Шаблон:Удалить_теги 5.96% 132.620 4 Шаблон:Cite_news 4.92% 109.385 1 Шаблон:Внешние_ссылки 4.46% 99.336 16 Шаблон:Книга --> <!-- Saved in parser cache with key ruwiki:pcache:idhash:2506-0!canonical and timestamp 20241122215537 and revision id 141635161. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Источник — <a dir="ltr" href="https://ru.wikipedia.org/w/index.php?title=Java&amp;oldid=141635161">https://ru.wikipedia.org/w/index.php?title=Java&amp;oldid=141635161</a></div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8" title="Служебная:Категории">Категории</a>: <ul><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D1%83" title="Категория:Языки программирования по алфавиту">Языки программирования по алфавиту</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F,_%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0%B2%D1%88%D0%B8%D0%B5%D1%81%D1%8F_%D0%B2_1995_%D0%B3%D0%BE%D0%B4%D1%83" title="Категория:Языки программирования, появившиеся в 1995 году">Языки программирования, появившиеся в 1995 году</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Java" title="Категория:Java">Java</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%B2%D0%B5%D0%B1-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" title="Категория:Языки веб-программирования">Языки веб-программирования</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%81_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%BC_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C%D1%8E" title="Категория:Языки программирования с автоматическим управлением памятью">Языки программирования с автоматическим управлением памятью</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Скрытые категории: <ul><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B,_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8E%D1%89%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D0%B0%D1%80%D0%B5%D0%B2%D1%88%D0%B8%D0%B9_%D1%82%D0%B5%D0%B3_source" title="Категория:Страницы, использующие устаревший тег source">Страницы, использующие устаревший тег source</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B,_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8E%D1%89%D0%B8%D0%B5_%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_JsonConfig" title="Категория:Страницы, использующие расширение JsonConfig">Страницы, использующие расширение JsonConfig</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:Cite_web_(%D0%BD%D0%B5_%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD_%D1%8F%D0%B7%D1%8B%D0%BA)" title="Категория:Википедия:Cite web (не указан язык)">Википедия:Cite web (не указан язык)</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:Cite_web_(%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C_webcitation-%D0%B0%D1%80%D1%85%D0%B8%D0%B2:_deadlink_no)" title="Категория:Википедия:Cite web (заменить webcitation-архив: deadlink no)">Википедия:Cite web (заменить webcitation-архив: deadlink no)</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B,_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8E%D1%89%D0%B8%D0%B5_%D0%B2%D0%BE%D0%BB%D1%88%D0%B5%D0%B1%D0%BD%D1%8B%D0%B5_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8_ISBN" title="Категория:Страницы, использующие волшебные ссылки ISBN">Страницы, использующие волшебные ссылки ISBN</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81_%D0%B2%D0%B8%D0%BA%D0%B8-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%BE%D0%B9_%D0%B2_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D1%87%D0%BA%D0%B8" title="Категория:Википедия:Статьи с вики-разметкой в изображении карточки">Википедия:Статьи с вики-разметкой в изображении карточки</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81_%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B8%D0%B7_%D0%92%D0%B8%D0%BA%D0%B8%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" title="Категория:Википедия:Статьи с источниками из Викиданных">Википедия:Статьи с источниками из Викиданных</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9F%D0%A0%D0%9E:%D0%98%D0%A2:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D0%BF%D0%BE_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D1%83" title="Категория:ПРО:ИТ:Статьи по алфавиту">ПРО:ИТ:Статьи по алфавиту</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9F%D0%A0%D0%9E:%D0%98%D0%A2:%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0:_%D0%B2_%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%BC_%D0%BC%D0%B5%D1%81%D1%8F%D1%86%D0%B5" title="Категория:ПРО:ИТ:Последняя правка: в текущем месяце">ПРО:ИТ:Последняя правка: в текущем месяце</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81_%D0%BD%D0%B0%D1%80%D1%83%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B2%D0%B7%D0%B2%D0%B5%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B8%D0%B7%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" title="Категория:Википедия:Статьи с нарушением взвешенности изложения">Википедия:Статьи с нарушением взвешенности изложения</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D0%BC%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D1%83" title="Категория:Википедия:Статьи с шаблонами недостатков по алфавиту">Википедия:Статьи с шаблонами недостатков по алфавиту</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B_%D1%81_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%BC_%D0%BD%D0%BF2_%D0%B1%D0%B5%D0%B7_%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0" title="Категория:Википедия:Страницы с шаблоном нп2 без дополнительного текста">Википедия:Страницы с шаблоном нп2 без дополнительного текста</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81%D0%BE_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8_%D0%BD%D0%B0_%D0%92%D0%B8%D0%BA%D0%B8%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C" title="Категория:Статьи со ссылками на Викисловарь">Статьи со ссылками на Викисловарь</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81%D0%BE_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8_%D0%BD%D0%B0_%D0%92%D0%B8%D0%BA%D0%B8%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA" title="Категория:Статьи со ссылками на Викиучебник">Статьи со ссылками на Викиучебник</a></li><li><a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8_%D1%81%D0%BE_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8_%D0%BD%D0%B0_%D0%92%D0%B8%D0%BA%D0%B8%D1%81%D0%BA%D0%BB%D0%B0%D0%B4" title="Категория:Статьи со ссылками на Викисклад">Статьи со ссылками на Викисклад</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Навигация</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Персональные инструменты</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Страница участника для моего IP">Вы не представились системе</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9C%D0%BE%D1%91_%D0%BE%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5" title="Страница обсуждений для моего IP [n]" accesskey="n"><span>Обсуждение</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9C%D0%BE%D0%B9_%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4" title="Список правок, сделанных с этого IP-адреса [y]" accesskey="y"><span>Вклад</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C_%D1%83%D1%87%D1%91%D1%82%D0%BD%D1%83%D1%8E_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C&amp;returnto=Java" title="Мы предлагаем вам создать учётную запись и войти в систему, хотя это и не обязательно."><span>Создать учётную запись</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D1%85%D0%BE%D0%B4&amp;returnto=Java" title="Здесь можно зарегистрироваться в системе, но это необязательно. [o]" accesskey="o"><span>Войти</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Пространства имён</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Java" title="Просмотреть контентную страницу [c]" accesskey="c"><span>Статья</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Java" rel="discussion" title="Обсуждение основной страницы [t]" accesskey="t"><span>Обсуждение</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">русский</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Просмотры</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="mw-list-item"><a href="/w/index.php?title=Java&amp;stable=1"><span>Читать</span></a></li><li id="ca-current" class="collapsible selected mw-list-item"><a href="/w/index.php?title=Java&amp;stable=0&amp;redirect=no" title="Показать текущую версию этой страницы [v]" accesskey="v"><span>Текущая версия</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=Java&amp;veaction=edit" title="Редактировать данную страницу [v]" accesskey="v"><span>Править</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=Java&amp;action=edit" title="Править исходный текст этой страницы [e]" accesskey="e"><span>Править код</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Java&amp;action=history" title="Журнал изменений страницы [h]" accesskey="h"><span>История</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Больше возможностей" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ещё</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Поиск</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Искать в Википедии" aria-label="Искать в Википедии" autocapitalize="sentences" title="Искать в Википедии [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Служебная:Поиск"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Найти страницы, содержащие указанный текст" value="Найти"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Перейти к странице, имеющей в точности такое название" value="Перейти"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0" title="Перейти на заглавную страницу"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Навигация</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0" title="Перейти на заглавную страницу [z]" accesskey="z"><span>Заглавная страница</span></a></li><li id="n-content" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5"><span>Содержание</span></a></li><li id="n-featured" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%98%D0%B7%D0%B1%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8" title="Статьи, считающиеся лучшими статьями проекта"><span>Избранные статьи</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0" title="Посмотреть случайно выбранную страницу [x]" accesskey="x"><span>Случайная статья</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB:%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F" title="Статьи о текущих событиях в мире"><span>Текущие события</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_ru.wikipedia.org&amp;uselang=ru" title="Поддержите нас"><span>Пожертвовать</span></a></li> </ul> </div> </nav> <nav id="p-participation" class="mw-portlet mw-portlet-participation vector-menu-portal portal vector-menu" aria-labelledby="p-participation-label" > <h3 id="p-participation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Участие</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-bug_in_article" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BE%D0%B1_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%D1%85" title="Сообщить об ошибке в этой статье"><span>Сообщить об ошибке</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0:%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5"><span>Как править статьи</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE" title="О проекте, о том, чем здесь можно заниматься, а также — где что находится"><span>Сообщество</span></a></li><li id="n-forum" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC" title="Форум участников Википедии"><span>Форум</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%B2%D0%B5%D0%B6%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8" title="Список последних изменений [r]" accesskey="r"><span>Свежие правки</span></a></li><li id="n-newpages" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B" title="Список недавно созданных страниц"><span>Новые страницы</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0" title="Место расположения Справки"><span>Справка</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Инструменты</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B8_%D1%81%D1%8E%D0%B4%D0%B0/Java" title="Список всех страниц, ссылающихся на данную [j]" accesskey="j"><span>Ссылки сюда</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8/Java" rel="nofollow" title="Последние изменения в страницах, на которые ссылается эта страница [k]" accesskey="k"><span>Связанные правки</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%BF%D0%B5%D1%86%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B" title="Список служебных страниц [q]" accesskey="q"><span>Служебные страницы</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Java&amp;oldid=141635161" title="Постоянная ссылка на эту версию страницы"><span>Постоянная ссылка</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Java&amp;action=info" title="Подробнее об этой странице"><span>Сведения о странице</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A6%D0%B8%D1%82%D0%B0%D1%82%D0%B0&amp;page=Java&amp;id=141635161&amp;wpFormIdentifier=titleform" title="Информация о том, как цитировать эту страницу"><span>Цитировать страницу</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:UrlShortener&amp;url=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2FJava"><span>Получить короткий URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:QrCode&amp;url=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2FJava"><span>Скачать QR-код</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Печать/экспорт</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:DownloadAsPdf&amp;page=Java&amp;action=show-download-screen" title="Скачать эту страницу как файл PDF"><span>Скачать как PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Java&amp;printable=yes" title="Версия этой страницы для печати [p]" accesskey="p"><span>Версия для печати</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">В других проектах</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Java_(programming_language)" hreflang="en"><span>Викисклад</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://ru.wikibooks.org/wiki/Java" hreflang="ru"><span>Викиучебник</span></a></li><li class="wb-otherproject-link wb-otherproject-wikinews mw-list-item"><a href="https://ru.wikinews.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Java" hreflang="ru"><span>Викиновости</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q251" title="Ссылка на связанный элемент репозитория данных [g]" accesskey="g"><span>Элемент Викиданных</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">На других языках</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ace mw-list-item"><a href="https://ace.wikipedia.org/wiki/Java" title="Java — ачехский" lang="ace" hreflang="ace" data-title="Java" data-language-autonym="Acèh" data-language-local-name="ачехский" class="interlanguage-link-target"><span>Acèh</span></a></li><li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/Java_(programmeertaal)" title="Java (programmeertaal) — африкаанс" lang="af" hreflang="af" data-title="Java (programmeertaal)" data-language-autonym="Afrikaans" data-language-local-name="африкаанс" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-am mw-list-item"><a href="https://am.wikipedia.org/wiki/%E1%8C%83%E1%89%AB" title="ጃቫ — амхарский" lang="am" hreflang="am" data-title="ጃቫ" data-language-autonym="አማርኛ" data-language-local-name="амхарский" class="interlanguage-link-target"><span>አማርኛ</span></a></li><li class="interlanguage-link interwiki-an mw-list-item"><a href="https://an.wikipedia.org/wiki/Luengache_de_programaci%C3%B3n_Java" title="Luengache de programación Java — арагонский" lang="an" hreflang="an" data-title="Luengache de programación Java" data-language-autonym="Aragonés" data-language-local-name="арагонский" class="interlanguage-link-target"><span>Aragonés</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://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="جافا (لغة برمجة) — арабский" lang="ar" hreflang="ar" data-title="جافا (لغة برمجة)" data-language-autonym="العربية" data-language-local-name="арабский" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D8%AC%D8%A7%DA%A4%D8%A7" title="جاڤا — Moroccan Arabic" lang="ary" hreflang="ary" data-title="جاڤا" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-arz mw-list-item"><a href="https://arz.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%D9%87)" title="جافا (لغة برمجه) — Egyptian Arabic" lang="arz" hreflang="arz" data-title="جافا (لغة برمجه)" data-language-autonym="مصرى" data-language-local-name="Egyptian Arabic" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/%E0%A6%9C%E0%A6%BE%E0%A6%AD%E0%A6%BE" title="জাভা — ассамский" lang="as" hreflang="as" data-title="জাভা" data-language-autonym="অসমীয়া" data-language-local-name="ассамский" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/Java_(llinguaxe_de_programaci%C3%B3n)" title="Java (llinguaxe de programación) — астурийский" lang="ast" hreflang="ast" data-title="Java (llinguaxe de programación)" data-language-autonym="Asturianu" data-language-local-name="астурийский" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Java" title="Java — азербайджанский" lang="az" hreflang="az" data-title="Java" data-language-autonym="Azərbaycanca" data-language-local-name="азербайджанский" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7" title="جاوا — South Azerbaijani" lang="azb" hreflang="azb" data-title="جاوا" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-bat-smg mw-list-item"><a href="https://bat-smg.wikipedia.org/wiki/Java" title="Java — Samogitian" lang="sgs" hreflang="sgs" data-title="Java" data-language-autonym="Žemaitėška" data-language-local-name="Samogitian" class="interlanguage-link-target"><span>Žemaitėška</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://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 (мова праграмавання) — белорусский" lang="be" hreflang="be" data-title="Java (мова праграмавання)" data-language-autonym="Беларуская" data-language-local-name="белорусский" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/Java" title="Java — белорусский (тарашкевица)" lang="be-tarask" hreflang="be-tarask" data-title="Java" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="белорусский (тарашкевица)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Java" title="Java — болгарский" lang="bg" hreflang="bg" data-title="Java" data-language-autonym="Български" data-language-local-name="болгарский" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://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="জাভা (প্রোগ্রামিং ভাষা) — бенгальский" lang="bn" hreflang="bn" data-title="জাভা (প্রোগ্রামিং ভাষা)" data-language-autonym="বাংলা" data-language-local-name="бенгальский" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) — боснийский" lang="bs" hreflang="bs" data-title="Java (programski jezik)" data-language-autonym="Bosanski" data-language-local-name="боснийский" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-bug mw-list-item"><a href="https://bug.wikipedia.org/wiki/Java" title="Java — бугийский" lang="bug" hreflang="bug" data-title="Java" data-language-autonym="Basa Ugi" data-language-local-name="бугийский" class="interlanguage-link-target"><span>Basa Ugi</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Java_(llenguatge_de_programaci%C3%B3)" title="Java (llenguatge de programació) — каталанский" lang="ca" hreflang="ca" data-title="Java (llenguatge de programació)" data-language-autonym="Català" data-language-local-name="каталанский" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cdo mw-list-item"><a href="https://cdo.wikipedia.org/wiki/Java" title="Java — Mindong" lang="cdo" hreflang="cdo" data-title="Java" data-language-autonym="閩東語 / Mìng-dĕ̤ng-ngṳ̄" data-language-local-name="Mindong" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-ngṳ̄</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://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="جاڤا (زمانی بەرنامەسازی) — центральнокурдский" lang="ckb" hreflang="ckb" data-title="جاڤا (زمانی بەرنامەسازی)" data-language-autonym="کوردی" data-language-local-name="центральнокурдский" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-co mw-list-item"><a href="https://co.wikipedia.org/wiki/Java" title="Java — корсиканский" lang="co" hreflang="co" data-title="Java" data-language-autonym="Corsu" data-language-local-name="корсиканский" class="interlanguage-link-target"><span>Corsu</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Java_(programovac%C3%AD_jazyk)" title="Java (programovací jazyk) — чешский" lang="cs" hreflang="cs" data-title="Java (programovací jazyk)" data-language-autonym="Čeština" data-language-local-name="чешский" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-cv mw-list-item"><a href="https://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 (компьютер чĕлхи) — чувашский" lang="cv" hreflang="cv" data-title="Java (компьютер чĕлхи)" data-language-autonym="Чӑвашла" data-language-local-name="чувашский" class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Java_(iaith_raglennu)" title="Java (iaith raglennu) — валлийский" lang="cy" hreflang="cy" data-title="Java (iaith raglennu)" data-language-autonym="Cymraeg" data-language-local-name="валлийский" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Java_(programmeringssprog)" title="Java (programmeringssprog) — датский" lang="da" hreflang="da" data-title="Java (programmeringssprog)" data-language-autonym="Dansk" data-language-local-name="датский" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache) — немецкий" lang="de" hreflang="de" data-title="Java (Programmiersprache)" data-language-autonym="Deutsch" data-language-local-name="немецкий" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Java" title="Java — греческий" lang="el" hreflang="el" data-title="Java" data-language-autonym="Ελληνικά" data-language-local-name="греческий" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Java_(programming_language)" title="Java (programming language) — английский" lang="en" hreflang="en" data-title="Java (programming language)" data-language-autonym="English" data-language-local-name="английский" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Java_(programlingvo)" title="Java (programlingvo) — эсперанто" lang="eo" hreflang="eo" data-title="Java (programlingvo)" data-language-autonym="Esperanto" data-language-local-name="эсперанто" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)" title="Java (lenguaje de programación) — испанский" lang="es" hreflang="es" data-title="Java (lenguaje de programación)" data-language-autonym="Español" data-language-local-name="испанский" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Java" title="Java — эстонский" lang="et" hreflang="et" data-title="Java" data-language-autonym="Eesti" data-language-local-name="эстонский" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Java_(programazio-lengoaia)" title="Java (programazio-lengoaia) — баскский" lang="eu" hreflang="eu" data-title="Java (programazio-lengoaia)" data-language-autonym="Euskara" data-language-local-name="баскский" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-ext mw-list-item"><a href="https://ext.wikipedia.org/wiki/Java" title="Java — Extremaduran" lang="ext" hreflang="ext" data-title="Java" data-language-autonym="Estremeñu" data-language-local-name="Extremaduran" class="interlanguage-link-target"><span>Estremeñu</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7" title="جاوا — персидский" lang="fa" hreflang="fa" data-title="جاوا" data-language-autonym="فارسی" data-language-local-name="персидский" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Java" title="Java — финский" lang="fi" hreflang="fi" data-title="Java" data-language-autonym="Suomi" data-language-local-name="финский" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fj mw-list-item"><a href="https://fj.wikipedia.org/wiki/Java" title="Java — фиджи" lang="fj" hreflang="fj" data-title="Java" data-language-autonym="Na Vosa Vakaviti" data-language-local-name="фиджи" class="interlanguage-link-target"><span>Na Vosa Vakaviti</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Java_(langage)" title="Java (langage) — французский" lang="fr" hreflang="fr" data-title="Java (langage)" data-language-autonym="Français" data-language-local-name="французский" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Java" title="Java — ирландский" lang="ga" hreflang="ga" data-title="Java" data-language-autonym="Gaeilge" data-language-local-name="ирландский" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Java_(linguaxe_de_programaci%C3%B3n)" title="Java (linguaxe de programación) — галисийский" lang="gl" hreflang="gl" data-title="Java (linguaxe de programación)" data-language-autonym="Galego" data-language-local-name="галисийский" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://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="જાવા (પ્રોગ્રામિંગ ભાષા) — гуджарати" lang="gu" hreflang="gu" data-title="જાવા (પ્રોગ્રામિંગ ભાષા)" data-language-autonym="ગુજરાતી" data-language-local-name="гуджарати" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Java_programming_language" title="Java programming language — хауса" lang="ha" hreflang="ha" data-title="Java programming language" data-language-autonym="Hausa" data-language-local-name="хауса" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-hak mw-list-item"><a href="https://hak.wikipedia.org/wiki/Java" title="Java — хакка" lang="hak" hreflang="hak" data-title="Java" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="хакка" class="interlanguage-link-target"><span>客家語 / Hak-kâ-ngî</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%92%27%D7%90%D7%95%D7%95%D7%94_(%D7%A9%D7%A4%D7%AA_%D7%AA%D7%9B%D7%A0%D7%95%D7%AA)" title="ג&#039;אווה (שפת תכנות) — иврит" lang="he" hreflang="he" data-title="ג&#039;אווה (שפת תכנות)" data-language-autonym="עברית" data-language-local-name="иврит" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://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="जावा (प्रोग्रामिंग भाषा) — хинди" lang="hi" hreflang="hi" data-title="जावा (प्रोग्रामिंग भाषा)" data-language-autonym="हिन्दी" data-language-local-name="хинди" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) — хорватский" lang="hr" hreflang="hr" data-title="Java (programski jezik)" data-language-autonym="Hrvatski" data-language-local-name="хорватский" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-ht mw-list-item"><a href="https://ht.wikipedia.org/wiki/Java_(enf%C3%B2matik)" title="Java (enfòmatik) — гаитянский" lang="ht" hreflang="ht" data-title="Java (enfòmatik)" data-language-autonym="Kreyòl ayisyen" data-language-local-name="гаитянский" class="interlanguage-link-target"><span>Kreyòl ayisyen</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Java_(programoz%C3%A1si_nyelv)" title="Java (programozási nyelv) — венгерский" lang="hu" hreflang="hu" data-title="Java (programozási nyelv)" data-language-autonym="Magyar" data-language-local-name="венгерский" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%8B%D5%A1%D5%BE%D5%A1" title="Ջավա — армянский" lang="hy" hreflang="hy" data-title="Ջավա" data-language-autonym="Հայերեն" data-language-local-name="армянский" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Java_(linguage_de_programmation)" title="Java (linguage de programmation) — интерлингва" lang="ia" hreflang="ia" data-title="Java (linguage de programmation)" data-language-autonym="Interlingua" data-language-local-name="интерлингва" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Java" title="Java — индонезийский" lang="id" hreflang="id" data-title="Java" data-language-autonym="Bahasa Indonesia" data-language-local-name="индонезийский" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Java_(programifo-linguo)" title="Java (programifo-linguo) — идо" lang="io" hreflang="io" data-title="Java (programifo-linguo)" data-language-autonym="Ido" data-language-local-name="идо" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Java_(forritunarm%C3%A1l)" title="Java (forritunarmál) — исландский" lang="is" hreflang="is" data-title="Java (forritunarmál)" data-language-autonym="Íslenska" data-language-local-name="исландский" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Java_(linguaggio_di_programmazione)" title="Java (linguaggio di programmazione) — итальянский" lang="it" hreflang="it" data-title="Java (linguaggio di programmazione)" data-language-autonym="Italiano" data-language-local-name="итальянский" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Java" title="Java — японский" lang="ja" hreflang="ja" data-title="Java" data-language-autonym="日本語" data-language-local-name="японский" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://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="ჯავა (პროგრამირების ენა) — грузинский" lang="ka" hreflang="ka" data-title="ჯავა (პროგრამირების ენა)" data-language-autonym="ქართული" data-language-local-name="грузинский" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kaa mw-list-item"><a href="https://kaa.wikipedia.org/wiki/Java_(programmalast%C4%B1r%C4%B1w_tili)" title="Java (programmalastırıw tili) — каракалпакский" lang="kaa" hreflang="kaa" data-title="Java (programmalastırıw tili)" data-language-autonym="Qaraqalpaqsha" data-language-local-name="каракалпакский" class="interlanguage-link-target"><span>Qaraqalpaqsha</span></a></li><li class="interlanguage-link interwiki-kab mw-list-item"><a href="https://kab.wikipedia.org/wiki/Java_(tutlayt)" title="Java (tutlayt) — кабильский" lang="kab" hreflang="kab" data-title="Java (tutlayt)" data-language-autonym="Taqbaylit" data-language-local-name="кабильский" class="interlanguage-link-target"><span>Taqbaylit</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://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 (бағдарламалау тілі) — казахский" lang="kk" hreflang="kk" data-title="Java (бағдарламалау тілі)" data-language-autonym="Қазақша" data-language-local-name="казахский" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%9C%E0%B2%BE%E0%B2%B5%E0%B2%BE" title="ಜಾವಾ — каннада" lang="kn" hreflang="kn" data-title="ಜಾವಾ" data-language-autonym="ಕನ್ನಡ" data-language-local-name="каннада" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://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="자바 (프로그래밍 언어) — корейский" lang="ko" hreflang="ko" data-title="자바 (프로그래밍 언어)" data-language-autonym="한국어" data-language-local-name="корейский" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Java_(ziman%C3%AA_bernamesaziy%C3%AA)" title="Java (zimanê bernamesaziyê) — курдский" lang="ku" hreflang="ku" data-title="Java (zimanê bernamesaziyê)" data-language-autonym="Kurdî" data-language-local-name="курдский" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/Java" title="Java — киргизский" lang="ky" hreflang="ky" data-title="Java" data-language-autonym="Кыргызча" data-language-local-name="киргизский" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/Java_(lingua_programmandi)" title="Java (lingua programmandi) — латинский" lang="la" hreflang="la" data-title="Java (lingua programmandi)" data-language-autonym="Latina" data-language-local-name="латинский" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lij mw-list-item"><a href="https://lij.wikipedia.org/wiki/Java_(lenguazzo)" title="Java (lenguazzo) — Ligurian" lang="lij" hreflang="lij" data-title="Java (lenguazzo)" data-language-autonym="Ligure" data-language-local-name="Ligurian" class="interlanguage-link-target"><span>Ligure</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/Java" title="Java — Lombard" lang="lmo" hreflang="lmo" data-title="Java" data-language-autonym="Lombard" data-language-local-name="Lombard" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Java_(programavimo_kalba)" title="Java (programavimo kalba) — литовский" lang="lt" hreflang="lt" data-title="Java (programavimo kalba)" data-language-autonym="Lietuvių" data-language-local-name="литовский" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Java_(programm%C4%93%C5%A1anas_valoda)" title="Java (programmēšanas valoda) — латышский" lang="lv" hreflang="lv" data-title="Java (programmēšanas valoda)" data-language-autonym="Latviešu" data-language-local-name="латышский" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-min mw-list-item"><a href="https://min.wikipedia.org/wiki/Java" title="Java — минангкабау" lang="min" hreflang="min" data-title="Java" data-language-autonym="Minangkabau" data-language-local-name="минангкабау" class="interlanguage-link-target"><span>Minangkabau</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://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 (програмски јазик) — македонский" lang="mk" hreflang="mk" data-title="Java (програмски јазик)" data-language-autonym="Македонски" data-language-local-name="македонский" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml badge-Q17437796 badge-featuredarticle mw-list-item" title="избранная статья"><a href="https://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="ജാവ (പ്രോഗ്രാമിങ് ഭാഷ) — малаялам" lang="ml" hreflang="ml" data-title="ജാവ (പ്രോഗ്രാമിങ് ഭാഷ)" data-language-autonym="മലയാളം" data-language-local-name="малаялам" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/Java" title="Java — монгольский" lang="mn" hreflang="mn" data-title="Java" data-language-autonym="Монгол" data-language-local-name="монгольский" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://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="जावा (आज्ञावली भाषा) — маратхи" lang="mr" hreflang="mr" data-title="जावा (आज्ञावली भाषा)" data-language-autonym="मराठी" data-language-local-name="маратхи" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Java" title="Java — малайский" lang="ms" hreflang="ms" data-title="Java" data-language-autonym="Bahasa Melayu" data-language-local-name="малайский" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/%E1%80%82%E1%80%BB%E1%80%AC%E1%80%97%E1%80%AC%E1%80%B8_(%E1%80%95%E1%80%9B%E1%80%AD%E1%80%AF%E1%80%82%E1%80%9B%E1%80%99%E1%80%BA%E1%80%99%E1%80%84%E1%80%BA%E1%80%B8%E1%80%98%E1%80%AC%E1%80%9E%E1%80%AC%E1%80%85%E1%80%80%E1%80%AC%E1%80%B8)" title="ဂျာဗား (ပရိုဂရမ်မင်းဘာသာစကား) — бирманский" lang="my" hreflang="my" data-title="ဂျာဗား (ပရိုဂရမ်မင်းဘာသာစကား)" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="бирманский" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-ne mw-list-item"><a href="https://ne.wikipedia.org/wiki/%E0%A4%9C%E0%A4%BE%E0%A4%AD%E0%A4%BE" title="जाभा — непальский" lang="ne" hreflang="ne" data-title="जाभा" data-language-autonym="नेपाली" data-language-local-name="непальский" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Java_(programmeertaal)" title="Java (programmeertaal) — нидерландский" lang="nl" hreflang="nl" data-title="Java (programmeertaal)" data-language-autonym="Nederlands" data-language-local-name="нидерландский" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Programmeringsspr%C3%A5ket_Java" title="Programmeringsspråket Java — нюнорск" lang="nn" hreflang="nn" data-title="Programmeringsspråket Java" data-language-autonym="Norsk nynorsk" data-language-local-name="нюнорск" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Java_(programmeringsspr%C3%A5k)" title="Java (programmeringsspråk) — норвежский букмол" lang="nb" hreflang="nb" data-title="Java (programmeringsspråk)" data-language-autonym="Norsk bokmål" data-language-local-name="норвежский букмол" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/Java_(lengatge)" title="Java (lengatge) — окситанский" lang="oc" hreflang="oc" data-title="Java (lengatge)" data-language-autonym="Occitan" data-language-local-name="окситанский" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a href="https://or.wikipedia.org/wiki/%E0%AC%9C%E0%AC%BE%E0%AC%AD%E0%AC%BE_(%E0%AC%AA%E0%AD%8D%E0%AC%B0%E0%AD%8B%E0%AC%97%E0%AD%8D%E0%AC%B0%E0%AC%BE%E0%AC%AE%E0%AC%BF%E0%AC%82_%E0%AC%AD%E0%AC%BE%E0%AC%B7%E0%AC%BE)" title="ଜାଭା (ପ୍ରୋଗ୍ରାମିଂ ଭାଷା) — ория" lang="or" hreflang="or" data-title="ଜାଭା (ପ୍ରୋଗ୍ରାମିଂ ଭାଷା)" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="ория" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://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="ਜਾਵਾ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ) — панджаби" lang="pa" hreflang="pa" data-title="ਜਾਵਾ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ)" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="панджаби" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Java" title="Java — польский" lang="pl" hreflang="pl" data-title="Java" data-language-autonym="Polski" data-language-local-name="польский" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pnb mw-list-item"><a href="https://pnb.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_(%D9%BE%D8%B1%D9%88%DA%AF%D8%B1%D8%A7%D9%85%D9%86%DA%AF_%D8%B2%D8%A8%D8%A7%D9%86)" title="جاوا (پروگرامنگ زبان) — Western Punjabi" lang="pnb" hreflang="pnb" data-title="جاوا (پروگرامنگ زبان)" data-language-autonym="پنجابی" data-language-local-name="Western Punjabi" class="interlanguage-link-target"><span>پنجابی</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)" title="Java (linguagem de programação) — португальский" lang="pt" hreflang="pt" data-title="Java (linguagem de programação)" data-language-autonym="Português" data-language-local-name="португальский" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/Java_(wakichiy_simi)" title="Java (wakichiy simi) — кечуа" lang="qu" hreflang="qu" data-title="Java (wakichiy simi)" data-language-autonym="Runa Simi" data-language-local-name="кечуа" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Java_(limbaj_de_programare)" title="Java (limbaj de programare) — румынский" lang="ro" hreflang="ro" data-title="Java (limbaj de programare)" data-language-autonym="Română" data-language-local-name="румынский" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-sa mw-list-item"><a href="https://sa.wikipedia.org/wiki/%E0%A4%9C%E0%A4%BE%E0%A4%B5%E0%A4%BE" title="जावा — санскрит" lang="sa" hreflang="sa" data-title="जावा" data-language-autonym="संस्कृतम्" data-language-local-name="санскрит" class="interlanguage-link-target"><span>संस्कृतम्</span></a></li><li class="interlanguage-link interwiki-sah mw-list-item"><a href="https://sah.wikipedia.org/wiki/Java" title="Java — саха" lang="sah" hreflang="sah" data-title="Java" data-language-autonym="Саха тыла" data-language-local-name="саха" class="interlanguage-link-target"><span>Саха тыла</span></a></li><li class="interlanguage-link interwiki-sd mw-list-item"><a href="https://sd.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_(%D9%BE%D8%B1%D9%88%DA%AF%D8%B1%D8%A7%D9%85%D9%86%DA%AF_%D8%AC%D9%8A_%D9%BB%D9%88%D9%84%D9%8A)" title="جاوا (پروگرامنگ جي ٻولي) — синдхи" lang="sd" hreflang="sd" data-title="جاوا (پروگرامنگ جي ٻولي)" data-language-autonym="سنڌي" data-language-local-name="синдхи" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) — сербскохорватский" lang="sh" hreflang="sh" data-title="Java (programski jezik)" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="сербскохорватский" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/%E0%B6%A2%E0%B7%8F%E0%B7%80%E0%B7%8F_(%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%B7%E0%B7%8F%E0%B7%82%E0%B7%8F%E0%B7%80)" title="ජාවා (ක්‍රමලේඛන භාෂාව) — сингальский" lang="si" hreflang="si" data-title="ජාවා (ක්‍රමලේඛන භාෂාව)" data-language-autonym="සිංහල" data-language-local-name="сингальский" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Java_(programming_language)" title="Java (programming language) — Simple English" lang="en-simple" hreflang="en-simple" data-title="Java (programming language)" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Java_(programovac%C3%AD_jazyk)" title="Java (programovací jazyk) — словацкий" lang="sk" hreflang="sk" data-title="Java (programovací jazyk)" data-language-autonym="Slovenčina" data-language-local-name="словацкий" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Java_(programski_jezik)" title="Java (programski jezik) — словенский" lang="sl" hreflang="sl" data-title="Java (programski jezik)" data-language-autonym="Slovenščina" data-language-local-name="словенский" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-so mw-list-item"><a href="https://so.wikipedia.org/wiki/Java_(luuqada_borograaminta)" title="Java (luuqada borograaminta) — сомали" lang="so" hreflang="so" data-title="Java (luuqada borograaminta)" data-language-autonym="Soomaaliga" data-language-local-name="сомали" class="interlanguage-link-target"><span>Soomaaliga</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Java_(gjuh%C3%AB_programimi)" title="Java (gjuhë programimi) — албанский" lang="sq" hreflang="sq" data-title="Java (gjuhë programimi)" data-language-autonym="Shqip" data-language-local-name="албанский" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.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%B5%D0%B7%D0%B8%D0%BA)" title="Java (програмски језик) — сербский" lang="sr" hreflang="sr" data-title="Java (програмски језик)" data-language-autonym="Српски / srpski" data-language-local-name="сербский" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Java_(programspr%C3%A5k)" title="Java (programspråk) — шведский" lang="sv" hreflang="sv" data-title="Java (programspråk)" data-language-autonym="Svenska" data-language-local-name="шведский" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-sw mw-list-item"><a href="https://sw.wikipedia.org/wiki/Java_(lugha_ya_programu)" title="Java (lugha ya programu) — суахили" lang="sw" hreflang="sw" data-title="Java (lugha ya programu)" data-language-autonym="Kiswahili" data-language-local-name="суахили" class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://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="ஜாவா (நிரலாக்க மொழி) — тамильский" lang="ta" hreflang="ta" data-title="ஜாவா (நிரலாக்க மொழி)" data-language-autonym="தமிழ்" data-language-local-name="тамильский" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%9C%E0%B0%BE%E0%B0%B5%E0%B0%BE" title="జావా — телугу" lang="te" hreflang="te" data-title="జావా" data-language-autonym="తెలుగు" data-language-local-name="телугу" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://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="ภาษาจาวา — тайский" lang="th" hreflang="th" data-title="ภาษาจาวา" data-language-autonym="ไทย" data-language-local-name="тайский" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Java_(wikang_pamprograma)" title="Java (wikang pamprograma) — тагалог" lang="tl" hreflang="tl" data-title="Java (wikang pamprograma)" data-language-autonym="Tagalog" data-language-local-name="тагалог" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Java" title="Java — турецкий" lang="tr" hreflang="tr" data-title="Java" data-language-autonym="Türkçe" data-language-local-name="турецкий" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/Java" title="Java — татарский" lang="tt" hreflang="tt" data-title="Java" data-language-autonym="Татарча / tatarça" data-language-local-name="татарский" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Java" title="Java — украинский" lang="uk" hreflang="uk" data-title="Java" data-language-autonym="Українська" data-language-local-name="украинский" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_(%D9%BE%D8%B1%D9%88%DA%AF%D8%B1%D8%A7%D9%85%D9%86%DA%AF_%D8%B2%D8%A8%D8%A7%D9%86)" title="جاوا (پروگرامنگ زبان) — урду" lang="ur" hreflang="ur" data-title="جاوا (پروگرامنگ زبان)" data-language-autonym="اردو" data-language-local-name="урду" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Java" title="Java — узбекский" lang="uz" hreflang="uz" data-title="Java" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="узбекский" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Java_(lenguajo_de_programasion)" title="Java (lenguajo de programasion) — Venetian" lang="vec" hreflang="vec" data-title="Java (lenguajo de programasion)" data-language-autonym="Vèneto" data-language-local-name="Venetian" class="interlanguage-link-target"><span>Vèneto</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://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) — вьетнамский" lang="vi" hreflang="vi" data-title="Java (ngôn ngữ lập trình)" data-language-autonym="Tiếng Việt" data-language-local-name="вьетнамский" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-war mw-list-item"><a href="https://war.wikipedia.org/wiki/Java_(linggwahe_hin_pagprograma)" title="Java (linggwahe hin pagprograma) — варай" lang="war" hreflang="war" data-title="Java (linggwahe hin pagprograma)" data-language-autonym="Winaray" data-language-local-name="варай" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/Java" title="Java — у" lang="wuu" hreflang="wuu" data-title="Java" data-language-autonym="吴语" data-language-local-name="у" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Java" title="Java — китайский" lang="zh" hreflang="zh" data-title="Java" data-language-autonym="中文" data-language-local-name="китайский" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-classical mw-list-item"><a href="https://zh-classical.wikipedia.org/wiki/%E7%88%AA%E5%93%87%E7%A8%8B%E5%BC%8F%E8%AA%9E" title="爪哇程式語 — Literary Chinese" lang="lzh" hreflang="lzh" data-title="爪哇程式語" data-language-autonym="文言" data-language-local-name="Literary Chinese" class="interlanguage-link-target"><span>文言</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://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) — миньнань" lang="nan" hreflang="nan" data-title="Java (thêng-sek gí-giân)" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="миньнань" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/Java_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80)" title="Java (程式語言) — кантонский" lang="yue" hreflang="yue" data-title="Java (程式語言)" data-language-autonym="粵語" data-language-local-name="кантонский" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q251#sitelinks-wikipedia" title="Править ссылки на другие языки" class="wbc-editpage">Править ссылки</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Эта страница в последний раз была отредактирована 20 ноября 2024 в 19:54.</li> <li id="footer-info-copyright">Текст доступен по <a rel="nofollow" class="external text" href="//creativecommons.org/licenses/by-sa/4.0/deed.ru">лицензии Creative Commons «С указанием авторства — С сохранением условий» (CC BY-SA)</a>; в отдельных случаях могут действовать дополнительные условия. <span class="noprint">Подробнее см. <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/ru">Условия использования</a>.</span><br /> Wikipedia®&#160;— зарегистрированный товарный знак некоммерческой организации <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/ru/">«Фонд Викимедиа» (Wikimedia Foundation, Inc.)</a></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/ru">Политика конфиденциальности</a></li> <li id="footer-places-about"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5">Описание Википедии</a></li> <li id="footer-places-disclaimers"><a href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9E%D1%82%D0%BA%D0%B0%D0%B7_%D0%BE%D1%82_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8">Отказ от ответственности</a></li> <li id="footer-places-contact"><a href="//ru.wikipedia.org/wiki/Википедия:Контакты">Свяжитесь с нами</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Policy:Universal_Code_of_Conduct/ru">Кодекс поведения</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Разработчики</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/ru.wikipedia.org">Статистика</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Заявление о куки</a></li> <li id="footer-places-mobileview"><a href="//ru.m.wikipedia.org/w/index.php?title=Java&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Мобильная версия</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-pzjbs","wgBackendResponseTime":225,"wgPageParseReport":{"limitreport":{"cputime":"1.646","walltime":"2.559","ppvisitednodes":{"value":17780,"limit":1000000},"postexpandincludesize":{"value":265483,"limit":2097152},"templateargumentsize":{"value":27487,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":45,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":195698,"limit":5000000},"entityaccesscount":{"value":34,"limit":400},"timingprofile":["100.00% 2224.894 1 -total"," 41.01% 912.341 1 Шаблон:Карточка_языка_программирования"," 40.16% 893.551 1 Шаблон:Карточка"," 21.38% 475.647 3 Шаблон:Примечания"," 12.98% 288.723 7 Шаблон:Wikidata"," 8.70% 193.653 75 Шаблон:Cite_web"," 8.49% 188.949 2 Шаблон:Удалить_теги"," 5.96% 132.620 4 Шаблон:Cite_news"," 4.92% 109.385 1 Шаблон:Внешние_ссылки"," 4.46% 99.336 16 Шаблон:Книга"]},"scribunto":{"limitreport-timeusage":{"value":"0.926","limit":"10.000"},"limitreport-memusage":{"value":13816094,"limit":52428800},"limitreport-logs":"Loaded datatype commonsMedia of P154 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P178 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P287 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P178 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype string of P348 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype string of P348 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P287 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype string of P1195 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P737 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P275 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P400 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\nLoaded datatype wikibase-item of P306 from wikidata, consider passing datatype argument to formatProperty call or to Wikidata/config\n"},"cachereport":{"origin":"mw-web.eqiad.main-5dc468848-zrwhc","timestamp":"20241122215537","ttl":698671,"transientcontent":true}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Java","url":"https:\/\/ru.wikipedia.org\/wiki\/Java","sameAs":"http:\/\/www.wikidata.org\/entity\/Q251","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q251","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"\u0424\u043e\u043d\u0434 \u0412\u0438\u043a\u0438\u043c\u0435\u0434\u0438\u0430","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-12-12T11:11:07Z","dateModified":"2024-11-20T19:54:19Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/ru\/3\/39\/Java_logo.svg","headline":"\u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10