CINXE.COM
Macchina virtuale Java - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="it" dir="ltr"> <head> <meta charset="UTF-8"> <title>Macchina virtuale Java - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )itwikimwclientpreferences=([^;]+)/);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":["","gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"wgRequestId":"3dbc60e6-d220-4134-bc1e-343fb5720ab1","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Macchina_virtuale_Java","wgTitle":"Macchina virtuale Java","wgCurRevisionId":139408207,"wgRevisionId":139408207,"wgArticleId":116824,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Template Webarchive - collegamenti all'Internet Archive","Pagine con collegamenti non funzionanti","Piattaforma Java","Software di sistema"],"wgPageViewLanguage":"it","wgPageContentLanguage":"it","wgPageContentModel":"wikitext","wgRelevantPageName":"Macchina_virtuale_Java","wgRelevantArticleId":116824,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject": "wikipedia","wgCiteReferencePreviewsActive":false,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"it","pageLanguageDir":"ltr","pageVariantFallbacks":"it"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q193321","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.coloriDarkMode-default":"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","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.MainPageWikiList","ext.gadget.stru-commonsupload","ext.gadget.HiddenCat","ext.gadget.ReferenceTooltips","ext.gadget.TitoloErrato","ext.gadget.NewSection","ext.gadget.RichiediRevisioneBozza","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.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","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=it&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=it&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=it&modules=ext.gadget.coloriDarkMode-default&only=styles&skin=vector-2022"> <link rel="stylesheet" href="/w/load.php?lang=it&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <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/it/thumb/2/2e/Java_Logo.svg/1200px-Java_Logo.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="2234"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/it/thumb/2/2e/Java_Logo.svg/800px-Java_Logo.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="1489"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/it/thumb/2/2e/Java_Logo.svg/640px-Java_Logo.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="1191"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Macchina virtuale Java - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//it.m.wikipedia.org/wiki/Macchina_virtuale_Java"> <link rel="alternate" type="application/x-wiki" title="Modifica" href="/w/index.php?title=Macchina_virtuale_Java&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="Wikipedia (it)"> <link rel="EditURI" type="application/rsd+xml" href="//it.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://it.wikipedia.org/wiki/Macchina_virtuale_Java"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.it"> <link rel="alternate" type="application/atom+xml" title="Feed Atom di Wikipedia" href="/w/index.php?title=Speciale:UltimeModifiche&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Macchina_virtuale_Java rootpage-Macchina_virtuale_Java skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Vai al contenuto</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Sito"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Menu principale" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Menu principale</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Menu principale</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">nascondi</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigazione </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Pagina_principale" title="Visita la pagina principale [z]" accesskey="z"><span>Pagina principale</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Speciale:UltimeModifiche" title="Elenco delle ultime modifiche del sito [r]" accesskey="r"><span>Ultime modifiche</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Speciale:PaginaCasuale" title="Mostra una pagina a caso [x]" accesskey="x"><span>Una voce a caso</span></a></li><li id="n-nearby-pages-title" class="mw-list-item"><a href="/wiki/Speciale:NelleVicinanze"><span>Nelle vicinanze</span></a></li><li id="n-vetrina" class="mw-list-item"><a href="/wiki/Wikipedia:Vetrina"><span>Vetrina</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Aiuto:Aiuto" title="Pagine di aiuto"><span>Aiuto</span></a></li><li id="n-Sportello-informazioni" class="mw-list-item"><a href="/wiki/Aiuto:Sportello_informazioni"><span>Sportello informazioni</span></a></li> </ul> </div> </div> <div id="p-Comunità" class="vector-menu mw-portlet mw-portlet-Comunità" > <div class="vector-menu-heading"> Comunità </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Portale:Comunit%C3%A0" title="Descrizione del progetto, cosa puoi fare, dove trovare le cose"><span>Portale Comunità</span></a></li><li id="n-villagepump" class="mw-list-item"><a href="/wiki/Wikipedia:Bar"><span>Bar</span></a></li><li id="n-wikipediano" class="mw-list-item"><a href="/wiki/Wikipedia:Wikipediano"><span>Il Wikipediano</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="/wiki/Wikipedia:Contatti"><span>Contatti</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Pagina_principale" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="L'enciclopedia libera" src="/static/images/mobile/copyright/wikipedia-tagline-it.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Speciale:Ricerca" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Cerca in Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Ricerca</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Cerca in Wikipedia" aria-label="Cerca in Wikipedia" autocapitalize="sentences" title="Cerca in Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Speciale:Ricerca"> </div> <button class="cdx-button cdx-search-input__end-button">Ricerca</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Strumenti personali"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Aspetto"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Modifica la dimensione, la larghezza e il colore del testo" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Aspetto" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Aspetto</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_it.wikipedia.org&uselang=it" class=""><span>Fai una donazione</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Speciale:CreaUtenza&returnto=Macchina+virtuale+Java" title="Si consiglia di registrarsi e di effettuare l'accesso, anche se non è obbligatorio" class=""><span>registrati</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Speciale:Entra&returnto=Macchina+virtuale+Java" title="Si consiglia di effettuare l'accesso, anche se non è obbligatorio [o]" accesskey="o" class=""><span>entra</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Altre opzioni" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Strumenti personali" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Strumenti personali</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Menu utente" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_it.wikipedia.org&uselang=it"><span>Fai una donazione</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Speciale:CreaUtenza&returnto=Macchina+virtuale+Java" title="Si consiglia di registrarsi e di effettuare l'accesso, anche se non è obbligatorio"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>registrati</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Speciale:Entra&returnto=Macchina+virtuale+Java" title="Si consiglia di effettuare l'accesso, anche se non è obbligatorio [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>entra</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pagine per utenti anonimi <a href="/wiki/Aiuto:Benvenuto" aria-label="Ulteriori informazioni sulla contribuzione"><span>ulteriori informazioni</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Speciale:MieiContributi" title="Un elenco delle modifiche fatte da questo indirizzo IP [y]" accesskey="y"><span>contributi</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Speciale:MieDiscussioni" title="Discussioni sulle modifiche fatte da questo indirizzo IP [n]" accesskey="n"><span>discussioni</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Sito"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Indice" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Indice</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">nascondi</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Inizio</div> </a> </li> <li id="toc-Descrizione" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Descrizione"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Descrizione</span> </div> </a> <ul id="toc-Descrizione-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Architettura" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Architettura"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Architettura</span> </div> </a> <button aria-controls="toc-Architettura-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Attiva/disattiva la sottosezione Architettura</span> </button> <ul id="toc-Architettura-sublist" class="vector-toc-list"> <li id="toc-Java_Bytecode" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Java_Bytecode"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Java Bytecode</span> </div> </a> <ul id="toc-Java_Bytecode-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Registri" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Registri"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Registri</span> </div> </a> <ul id="toc-Registri-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Stack" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Stack"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Stack</span> </div> </a> <ul id="toc-Stack-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Area_di_heap" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Area_di_heap"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Area di heap</span> </div> </a> <ul id="toc-Area_di_heap-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Area_di_memorizzazione_dei_metodi" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Area_di_memorizzazione_dei_metodi"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>Area di memorizzazione dei metodi</span> </div> </a> <ul id="toc-Area_di_memorizzazione_dei_metodi-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Compilazione_Just-In-Time" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Compilazione_Just-In-Time"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.6</span> <span>Compilazione <i>Just-In-Time</i></span> </div> </a> <ul id="toc-Compilazione_Just-In-Time-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Implementazioni" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Implementazioni"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Implementazioni</span> </div> </a> <button aria-controls="toc-Implementazioni-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Attiva/disattiva la sottosezione Implementazioni</span> </button> <ul id="toc-Implementazioni-sublist" class="vector-toc-list"> <li id="toc-HotSpot" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#HotSpot"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>HotSpot</span> </div> </a> <ul id="toc-HotSpot-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Zero" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Zero"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Zero</span> </div> </a> <ul id="toc-Zero-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-OpenJ9" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#OpenJ9"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>OpenJ9</span> </div> </a> <ul id="toc-OpenJ9-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Le_altre_implementazioni" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Le_altre_implementazioni"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Le altre implementazioni</span> </div> </a> <ul id="toc-Le_altre_implementazioni-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Note" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Note"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Note</span> </div> </a> <ul id="toc-Note-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliografia" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliografia"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Bibliografia</span> </div> </a> <ul id="toc-Bibliografia-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Voci_correlate" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Voci_correlate"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Voci correlate</span> </div> </a> <ul id="toc-Voci_correlate-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Altri_progetti" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Altri_progetti"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Altri progetti</span> </div> </a> <ul id="toc-Altri_progetti-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Collegamenti_esterni" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Collegamenti_esterni"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Collegamenti esterni</span> </div> </a> <ul id="toc-Collegamenti_esterni-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Indice" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Mostra/Nascondi l'indice" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Mostra/Nascondi l'indice</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Macchina virtuale Java</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Vai a una voce in un'altra lingua. Disponibile in 45 lingue" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-45" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">45 lingue</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-am mw-list-item"><a href="https://am.wikipedia.org/wiki/%E1%8C%83%E1%89%AB_%E1%89%A8%E1%88%AD%E1%89%B9%E1%8A%A0%E1%88%8D_%E1%88%9B%E1%88%BD%E1%8A%95" title="ጃቫ ቨርቹአል ማሽን - amarico" lang="am" hreflang="am" data-title="ጃቫ ቨርቹአል ማሽን" data-language-autonym="አማርኛ" data-language-local-name="amarico" class="interlanguage-link-target"><span>አማርኛ</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A2%D9%84%D8%A9_%D8%AC%D8%A7%D9%81%D8%A7_%D8%A7%D9%84%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A9" title="آلة جافا الافتراضية - arabo" lang="ar" hreflang="ar" data-title="آلة جافا الافتراضية" data-language-autonym="العربية" data-language-local-name="arabo" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - azerbaigiano" lang="az" hreflang="az" data-title="Java Virtual Machine" data-language-autonym="Azərbaycanca" data-language-local-name="azerbaigiano" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - bulgaro" lang="bg" hreflang="bg" data-title="Java Virtual Machine" data-language-autonym="Български" data-language-local-name="bulgaro" 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%AD%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%9A%E0%A7%81%E0%A6%AF%E0%A6%BC%E0%A6%BE%E0%A6%B2_%E0%A6%AE%E0%A7%87%E0%A6%B6%E0%A6%BF%E0%A6%A8" title="জাভা ভার্চুয়াল মেশিন - bengalese" lang="bn" hreflang="bn" data-title="জাভা ভার্চুয়াল মেশিন" data-language-autonym="বাংলা" data-language-local-name="bengalese" 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_Virtual_Machine" title="Java Virtual Machine - bosniaco" lang="bs" hreflang="bs" data-title="Java Virtual Machine" data-language-autonym="Bosanski" data-language-local-name="bosniaco" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%A0quina_virtual_Java" title="Màquina virtual Java - catalano" lang="ca" hreflang="ca" data-title="Màquina virtual Java" data-language-autonym="Català" data-language-local-name="catalano" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - ceco" lang="cs" hreflang="cs" data-title="Java Virtual Machine" data-language-autonym="Čeština" data-language-local-name="ceco" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - tedesco" lang="de" hreflang="de" data-title="Java Virtual Machine" data-language-autonym="Deutsch" data-language-local-name="tedesco" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Java_virtual_machine" title="Java virtual machine - inglese" lang="en" hreflang="en" data-title="Java virtual machine" data-language-autonym="English" data-language-local-name="inglese" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%A1quina_virtual_Java" title="Máquina virtual Java - spagnolo" lang="es" hreflang="es" data-title="Máquina virtual Java" data-language-autonym="Español" data-language-local-name="spagnolo" 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_virtuaalmasin" title="Java virtuaalmasin - estone" lang="et" hreflang="et" data-title="Java virtuaalmasin" data-language-autonym="Eesti" data-language-local-name="estone" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%B4%DB%8C%D9%86_%D9%85%D8%AC%D8%A7%D8%B2%DB%8C_%D8%AC%D8%A7%D9%88%D8%A7" title="ماشین مجازی جاوا - persiano" lang="fa" hreflang="fa" data-title="ماشین مجازی جاوا" data-language-autonym="فارسی" data-language-local-name="persiano" 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-virtuaalikone" title="Java-virtuaalikone - finlandese" lang="fi" hreflang="fi" data-title="Java-virtuaalikone" data-language-autonym="Suomi" data-language-local-name="finlandese" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Machine_virtuelle_Java" title="Machine virtuelle Java - francese" lang="fr" hreflang="fr" data-title="Machine virtuelle Java" data-language-autonym="Français" data-language-local-name="francese" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - ebraico" lang="he" hreflang="he" data-title="Java Virtual Machine" data-language-autonym="עברית" data-language-local-name="ebraico" 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%86%E0%A4%AD%E0%A4%BE%E0%A4%B8%E0%A5%80_%E0%A4%AE%E0%A4%B6%E0%A5%80%E0%A4%A8" title="जावा आभासी मशीन - hindi" lang="hi" hreflang="hi" data-title="जावा आभासी मशीन" data-language-autonym="हिन्दी" data-language-local-name="hindi" 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_(virtualni_stroj)" title="Java (virtualni stroj) - croato" lang="hr" hreflang="hr" data-title="Java (virtualni stroj)" data-language-autonym="Hrvatski" data-language-local-name="croato" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Java_virtu%C3%A1lis_g%C3%A9p" title="Java virtuális gép - ungherese" lang="hu" hreflang="hu" data-title="Java virtuális gép" data-language-autonym="Magyar" data-language-local-name="ungherese" 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_%D5%BE%D5%AB%D6%80%D5%BF%D5%B8%D6%82%D5%A1%D5%AC_%D5%B4%D5%A5%D6%84%D5%A5%D5%B6%D5%A1" title="Ջավա վիրտուալ մեքենա - armeno" lang="hy" hreflang="hy" data-title="Ջավա վիրտուալ մեքենա" data-language-autonym="Հայերեն" data-language-local-name="armeno" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Machina_virtual_Java" title="Machina virtual Java - interlingua" lang="ia" hreflang="ia" data-title="Machina virtual Java" data-language-autonym="Interlingua" data-language-local-name="interlingua" 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/Mesin_Virtual_Java" title="Mesin Virtual Java - indonesiano" lang="id" hreflang="id" data-title="Mesin Virtual Java" data-language-autonym="Bahasa Indonesia" data-language-local-name="indonesiano" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Java%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3" title="Java仮想マシン - giapponese" lang="ja" hreflang="ja" data-title="Java仮想マシン" data-language-autonym="日本語" data-language-local-name="giapponese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Java_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D0%B4%D1%8B_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0%D1%81%D1%8B" title="Java виртуалды машинасы - kazako" lang="kk" hreflang="kk" data-title="Java виртуалды машинасы" data-language-autonym="Қазақша" data-language-local-name="kazako" 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_%EA%B0%80%EC%83%81_%EB%A8%B8%EC%8B%A0" title="자바 가상 머신 - coreano" lang="ko" hreflang="ko" data-title="자바 가상 머신" data-language-autonym="한국어" data-language-local-name="coreano" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%9C%E0%B4%BE%E0%B4%B5_%E0%B4%B5%E0%B5%86%E0%B5%BC%E0%B4%9A%E0%B5%8D%E0%B4%B5%E0%B5%BD_%E0%B4%AE%E0%B5%86%E0%B4%B7%E0%B5%80%E0%B5%BB" title="ജാവ വെർച്വൽ മെഷീൻ - malayalam" lang="ml" hreflang="ml" data-title="ജാവ വെർച്വൽ മെഷീൻ" data-language-autonym="മലയാളം" data-language-local-name="malayalam" 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_virtual_machine" title="Java virtual machine - mongolo" lang="mn" hreflang="mn" data-title="Java virtual machine" data-language-autonym="Монгол" data-language-local-name="mongolo" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Mesin_maya_Java" title="Mesin maya Java - malese" lang="ms" hreflang="ms" data-title="Mesin maya Java" data-language-autonym="Bahasa Melayu" data-language-local-name="malese" 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/Java_%E1%80%92%E1%80%BC%E1%80%95%E1%80%BA%E1%80%99%E1%80%B2%E1%80%B7%E1%80%85%E1%80%80%E1%80%BA" title="Java ဒြပ်မဲ့စက် - birmano" lang="my" hreflang="my" data-title="Java ဒြပ်မဲ့စက်" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="birmano" 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_Virtual_Machine" title="Java Virtual Machine - olandese" lang="nl" hreflang="nl" data-title="Java Virtual Machine" data-language-autonym="Nederlands" data-language-local-name="olandese" class="interlanguage-link-target"><span>Nederlands</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%B5%E0%A8%B0%E0%A8%9A%E0%A9%81%E0%A8%85%E0%A8%B2_%E0%A8%AE%E0%A8%B8%E0%A8%BC%E0%A9%80%E0%A8%A8" title="ਜਾਵਾ ਵਰਚੁਅਲ ਮਸ਼ੀਨ - punjabi" lang="pa" hreflang="pa" data-title="ਜਾਵਾ ਵਰਚੁਅਲ ਮਸ਼ੀਨ" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Wirtualna_maszyna_Javy" title="Wirtualna maszyna Javy - polacco" lang="pl" hreflang="pl" data-title="Wirtualna maszyna Javy" data-language-autonym="Polski" data-language-local-name="polacco" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%A1quina_virtual_Java" title="Máquina virtual Java - portoghese" lang="pt" hreflang="pt" data-title="Máquina virtual Java" data-language-autonym="Português" data-language-local-name="portoghese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - russo" lang="ru" hreflang="ru" data-title="Java Virtual Machine" data-language-autonym="Русский" data-language-local-name="russo" 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_(virtualna_ma%C5%A1ina)" title="Java (virtualna mašina) - serbo-croato" lang="sh" hreflang="sh" data-title="Java (virtualna mašina)" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="serbo-croato" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Java_virtual_machine" title="Java virtual machine - Simple English" lang="en-simple" hreflang="en-simple" data-title="Java virtual machine" 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-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Java_Virtual_Machine" title="Java Virtual Machine - albanese" lang="sq" hreflang="sq" data-title="Java Virtual Machine" data-language-autonym="Shqip" data-language-local-name="albanese" 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%B2%D0%B8%D1%80%D1%82%D1%83%D0%B5%D0%BB%D0%BD%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0" title="Java виртуелна машина - serbo" lang="sr" hreflang="sr" data-title="Java виртуелна машина" data-language-autonym="Српски / srpski" data-language-local-name="serbo" 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_Virtual_Machine" title="Java Virtual Machine - svedese" lang="sv" hreflang="sv" data-title="Java Virtual Machine" data-language-autonym="Svenska" data-language-local-name="svedese" class="interlanguage-link-target"><span>Svenska</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%AE%E0%AF%86%E0%AE%AF%E0%AF%8D%E0%AE%A8%E0%AE%BF%E0%AE%95%E0%AE%B0%E0%AF%8D_%E0%AE%87%E0%AE%AF%E0%AE%A8%E0%AF%8D%E0%AE%A4%E0%AE%BF%E0%AE%B0%E0%AE%AE%E0%AF%8D" title="ஜாவா மெய்நிகர் இயந்திரம் - tamil" lang="ta" hreflang="ta" data-title="ஜாவா மெய்நிகர் இயந்திரம்" data-language-autonym="தமிழ்" data-language-local-name="tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Java_sanal_makinesi" title="Java sanal makinesi - turco" lang="tr" hreflang="tr" data-title="Java sanal makinesi" data-language-autonym="Türkçe" data-language-local-name="turco" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%92%D1%96%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_Java" title="Віртуальна машина Java - ucraino" lang="uk" hreflang="uk" data-title="Віртуальна машина Java" data-language-autonym="Українська" data-language-local-name="ucraino" 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_Virtual_Machine" title="Java Virtual Machine - uzbeco" lang="uz" hreflang="uz" data-title="Java Virtual Machine" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="uzbeco" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%A1y_%E1%BA%A3o_Java" title="Máy ảo Java - vietnamita" lang="vi" hreflang="vi" data-title="Máy ảo Java" data-language-autonym="Tiếng Việt" data-language-local-name="vietnamita" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Java%E8%99%9A%E6%8B%9F%E6%9C%BA" title="Java虚拟机 - cinese" lang="zh" hreflang="zh" data-title="Java虚拟机" data-language-autonym="中文" data-language-local-name="cinese" 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/Q193321#sitelinks-wikipedia" title="Modifica collegamenti interlinguistici" class="wbc-editpage">Modifica collegamenti</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespace"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Macchina_virtuale_Java" title="Vedi la voce [c]" accesskey="c"><span>Voce</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Discussione:Macchina_virtuale_Java" rel="discussion" title="Vedi le discussioni relative a questa pagina [t]" accesskey="t"><span>Discussione</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Cambia versione linguistica" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">italiano</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Visite"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Macchina_virtuale_Java"><span>Leggi</span></a></li><li id="ca-ve-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit" title="Modifica questa pagina [v]" accesskey="v"><span>Modifica</span></a></li><li id="ca-edit" class="collapsible vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit" title="Modifica il wikitesto di questa pagina [e]" accesskey="e"><span>Modifica wikitesto</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&action=history" title="Versioni precedenti di questa pagina [h]" accesskey="h"><span>Cronologia</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Strumenti pagine"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Strumenti" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Strumenti</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Strumenti</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">nascondi</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Altre opzioni" > <div class="vector-menu-heading"> Azioni </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Macchina_virtuale_Java"><span>Leggi</span></a></li><li id="ca-more-ve-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit" title="Modifica questa pagina [v]" accesskey="v"><span>Modifica</span></a></li><li id="ca-more-edit" class="collapsible vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit" title="Modifica il wikitesto di questa pagina [e]" accesskey="e"><span>Modifica wikitesto</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&action=history"><span>Cronologia</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Generale </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Speciale:PuntanoQui/Macchina_virtuale_Java" title="Elenco di tutte le pagine che sono collegate a questa [j]" accesskey="j"><span>Puntano qui</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Speciale:ModificheCorrelate/Macchina_virtuale_Java" rel="nofollow" title="Elenco delle ultime modifiche alle pagine collegate a questa [k]" accesskey="k"><span>Modifiche correlate</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Speciale:PagineSpeciali" title="Elenco di tutte le pagine speciali [q]" accesskey="q"><span>Pagine speciali</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&oldid=139408207" title="Collegamento permanente a questa versione di questa pagina"><span>Link permanente</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&action=info" title="Ulteriori informazioni su questa pagina"><span>Informazioni pagina</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Speciale:Cita&page=Macchina_virtuale_Java&id=139408207&wpFormIdentifier=titleform" title="Informazioni su come citare questa pagina"><span>Cita questa voce</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Speciale:UrlShortener&url=https%3A%2F%2Fit.wikipedia.org%2Fwiki%2FMacchina_virtuale_Java"><span>Ottieni URL breve</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Speciale:QrCode&url=https%3A%2F%2Fit.wikipedia.org%2Fwiki%2FMacchina_virtuale_Java"><span>Scarica codice QR</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Stampa/esporta </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Speciale:Libro&bookcmd=book_creator&referer=Macchina+virtuale+Java"><span>Crea un libro</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Speciale:DownloadAsPdf&page=Macchina_virtuale_Java&action=show-download-screen"><span>Scarica come PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Macchina_virtuale_Java&printable=yes" title="Versione stampabile di questa pagina [p]" accesskey="p"><span>Versione stampabile</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In altri progetti </div> <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_Virtual_Machine" hreflang="en"><span>Wikimedia Commons</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/Q193321" title="Collegamento all'elemento connesso dell'archivio dati [g]" accesskey="g"><span>Elemento Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Strumenti pagine"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Aspetto"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Aspetto</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">sposta nella barra laterale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">nascondi</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">Da Wikipedia, l'enciclopedia libera.</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="it" dir="ltr"><figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Java_Logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/it/thumb/2/2e/Java_Logo.svg/110px-Java_Logo.svg.png" decoding="async" width="110" height="205" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/it/thumb/2/2e/Java_Logo.svg/165px-Java_Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/it/thumb/2/2e/Java_Logo.svg/220px-Java_Logo.svg.png 2x" data-file-width="354" data-file-height="659" /></a><figcaption>Logo di <a href="/wiki/Java_(linguaggio_di_programmazione)" title="Java (linguaggio di programmazione)">Java</a>, il primo <a href="/wiki/Linguaggio_di_programmazione_ad_alto_livello" title="Linguaggio di programmazione ad alto livello">linguaggio di programmazione ad alto livello</a> per la JVM</figcaption></figure> <p>In <a href="/wiki/Informatica" title="Informatica">informatica</a> la <b>macchina virtuale Java</b> (detta anche <b>Java Virtual Machine</b> o <b>JVM</b>) è il componente della <a href="/wiki/Piattaforma_Java" title="Piattaforma Java">piattaforma Java</a> responsabile per l'esecuzione dei <a href="/wiki/Programma_(informatica)" title="Programma (informatica)">programmi</a> in formato <a href="/wiki/Bytecode" title="Bytecode">bytecode</a>. </p><p>Tipicamente un programma in formato bytecode può essere ottenuto dalla <a href="/wiki/Compilazione" class="mw-redirect" title="Compilazione">compilazione</a> di un programma equivalente in un <a href="/wiki/Linguaggio_di_programmazione" title="Linguaggio di programmazione">linguaggio di programmazione</a> di livello più alto. Tra i vari che possono essere tradotti in Java bytecode figurano <a href="/wiki/Java_(linguaggio_di_programmazione)" title="Java (linguaggio di programmazione)">Java</a>, <a href="/wiki/Groovy" class="mw-redirect" title="Groovy">Groovy</a>, <a href="/wiki/Clojure" title="Clojure">Clojure</a>, <a href="/wiki/Scala_(linguaggio_di_programmazione)" title="Scala (linguaggio di programmazione)">Scala</a>, <a href="/wiki/Kotlin_(linguaggio_di_programmazione)" title="Kotlin (linguaggio di programmazione)">Kotlin</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Descrizione">Descrizione</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=1" title="Modifica la sezione Descrizione" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=1" title="Edit section's source code: Descrizione"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>La JVM è definita da una <a href="/wiki/Specifica_tecnica" title="Specifica tecnica">specifica</a>, mantenuta da <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle</a>. Qualsiasi sistema che si comporti in modo coerente con tale specifica viene considerato come una particolare <a href="/wiki/Implementazione" title="Implementazione">implementazione</a> della JVM. Esistono implementazioni <a href="/wiki/Software" title="Software">software</a> per praticamente tutti i <a href="/wiki/Sistema_operativo" title="Sistema operativo">sistemi operativi</a> moderni, sia gratuite che commerciali. Inoltre, esistono implementazioni speciali per particolari ambienti <a href="/wiki/Hardware" title="Hardware">hardware</a>/<a href="/wiki/Software" title="Software">software</a>, come <a href="/wiki/Telefono_cellulare" title="Telefono cellulare">telefoni cellulari</a> e <a href="/wiki/Computer_palmare" title="Computer palmare">palmari</a>), e persino implementazioni hardware come <a href="/wiki/Architettura_ARM#Jazelle" title="Architettura ARM">Jazelle</a>. </p><p>La disponibilità di implementazioni della macchina virtuale Java per diversi ambienti operativi è la chiave della <a href="/wiki/Portabilit%C3%A0" class="mw-redirect" title="Portabilità">portabilità</a> di Java, proclamata nello <a href="/wiki/Slogan" title="Slogan">slogan</a> <i>write once, run everywhere</i> ("scrivi una volta, esegui dappertutto"). La macchina virtuale realizza infatti un <a href="/wiki/Ambiente_di_esecuzione" title="Ambiente di esecuzione">ambiente di esecuzione</a> omogeneo, che nasconde al software Java (e quindi al programmatore) qualsiasi specificità del <a href="/wiki/Sistema_operativo" title="Sistema operativo">sistema operativo</a> sottostante: </p> <table border="1" align="center"> <tbody><tr> <th>Software applicativo Java </th></tr> <tr> <th>Java Virtual Machine </th></tr> <tr> <th>Sistema Operativo </th></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Architettura">Architettura</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=2" title="Modifica la sezione Architettura" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=2" title="Edit section's source code: Architettura"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Java_virtual_machine_architecture.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Java_virtual_machine_architecture.svg/220px-Java_virtual_machine_architecture.svg.png" decoding="async" width="220" height="358" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Java_virtual_machine_architecture.svg/330px-Java_virtual_machine_architecture.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Java_virtual_machine_architecture.svg/440px-Java_virtual_machine_architecture.svg.png 2x" data-file-width="566" data-file-height="921" /></a><figcaption>Schema architetturale di alto livello della JVM</figcaption></figure> <p>L'architettura di una JVM comprende in generale i seguenti elementi: </p> <ul><li>Un set di istruzioni per i <a href="/wiki/Bytecode" title="Bytecode">bytecode</a></li> <li>Un gruppo di <a href="/wiki/Registro_(informatica)" title="Registro (informatica)">registri</a></li> <li>Uno <a href="/wiki/Stack_(informatica)" class="mw-redirect" title="Stack (informatica)">stack</a></li> <li>Un'area di <a href="/wiki/Heap_(gestione_della_memoria)" class="mw-redirect" title="Heap (gestione della memoria)">heap</a> su cui opera la routine di <a href="/wiki/Garbage_collection" title="Garbage collection">garbage collection</a></li> <li>Un'area per la memorizzazione dei <a href="/wiki/Metodo_(programmazione)" title="Metodo (programmazione)">metodi</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="Java_Bytecode">Java Bytecode</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=3" title="Modifica la sezione Java Bytecode" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=3" title="Edit section's source code: Java Bytecode"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r130657691">body:not(.skin-minerva) .mw-parser-output .vedi-anche{font-size:95%}</style><style data-mw-deduplicate="TemplateStyles:r139142988">.mw-parser-output .hatnote-content{align-items:center;display:flex}.mw-parser-output .hatnote-icon{flex-shrink:0}.mw-parser-output .hatnote-icon img{display:flex}.mw-parser-output .hatnote-text{font-style:italic}body:not(.skin-minerva) .mw-parser-output .hatnote{border:1px solid #CCC;display:flex;margin:.5em 0;padding:.2em .5em}body:not(.skin-minerva) .mw-parser-output .hatnote-text{padding-left:.5em}body.skin-minerva .mw-parser-output .hatnote-icon{padding-right:8px}body.skin-minerva .mw-parser-output .hatnote-icon img{height:auto;width:16px}body.skin--responsive .mw-parser-output .hatnote a.new{color:#d73333}body.skin--responsive .mw-parser-output .hatnote a.new:visited{color:#a55858}</style> <div class="hatnote noprint vedi-anche"> <div class="hatnote-content"><span class="noviewer hatnote-icon" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/18px-Magnifying_glass_icon_mgx2.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/27px-Magnifying_glass_icon_mgx2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/36px-Magnifying_glass_icon_mgx2.svg.png 2x" data-file-width="286" data-file-height="280" /></span></span> <span class="hatnote-text">Lo stesso argomento in dettaglio: <b><a href="/wiki/Bytecode" title="Bytecode">Bytecode</a></b>.</span></div> </div> <p>Il <a href="/wiki/Codice_sorgente" title="Codice sorgente">codice sorgente</a> di Java viene <a href="/wiki/Compilatore" title="Compilatore">compilato</a> in bytecode e memorizzato in <a href="/wiki/File" title="File">file</a> con <a href="/wiki/Estensione_(file)" class="mw-redirect" title="Estensione (file)">estensione</a> <i>.class</i>. Per compilare tale codice viene fornito uno strumento che prende il nome di <a href="/w/index.php?title=Javac&action=edit&redlink=1" class="new" title="Javac (la pagina non esiste)">Javac</a>. Questo strumento non viene considerato come un compilatore tradizionale proprio perché traduce il codice sorgente in bytecode. Il codice, a causa del formato, non può essere eseguito direttamente ma deve essere interpretato su ciascun <a href="/wiki/Computer" title="Computer">computer</a>. L'estrema <a href="/wiki/Portabilit%C3%A0" class="mw-redirect" title="Portabilità">portabilità</a> e flessibilità del codice Java sono date, appunto, da questo passaggio intermedio. </p><p>Un'<a href="/wiki/Istruzione_(informatica)" title="Istruzione (informatica)">istruzione</a> di bytecode è composta da un <a href="/wiki/Opcode" title="Opcode">opcode</a> di un <a href="/wiki/Byte" title="Byte">byte</a>, che serve per identificare l'istruzione in questione, e da zero o più <a href="/wiki/Operando" class="mw-redirect" title="Operando">operandi</a>, ciascuno dei quali può essere più lungo di un byte. Quando gli operandi sono più lunghi di un byte, viene memorizzato per primo il <a href="/wiki/Big-endian" class="mw-redirect" title="Big-endian">big-endian</a> (byte di ordine superiore), questi operandi vengono poi assemblati dal flusso di byte in fase di esecuzione. Ad esempio, un parametro a <a href="/wiki/16_bit" title="16 bit">16 bit</a> viene rappresentato all'interno del flusso di istruzioni da due byte. Il <a href="/wiki/Set_di_istruzioni" class="mw-redirect" title="Set di istruzioni">set di istruzioni</a> della macchina virtuale di Java interpreta i dati nelle aree di memoria di esecuzione come appartenenti a un insieme prefissato di <a href="/wiki/Tipo_di_dato" title="Tipo di dato">tipi</a>: i tipi primitivi, che sono rappresentati da diversi <a href="/wiki/Numero_intero_(informatica)" title="Numero intero (informatica)">tipi interi</a> con segno (byte, short, int, long), un tipo intero senza segno (char), due tipi in <a href="/wiki/Virgola_mobile" class="mw-redirect" title="Virgola mobile">virgola mobile</a> (float e double) e in più il tipo che fa riferimento a un <a href="/wiki/Oggetto_(informatica)" title="Oggetto (informatica)">oggetto</a> (<a href="/wiki/Puntatore_(programmazione)" title="Puntatore (programmazione)">puntatore</a> a <a href="/wiki/32_bit" title="32 bit">32 bit</a>). </p> <div class="mw-heading mw-heading3"><h3 id="Registri">Registri</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=4" title="Modifica la sezione Registri" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=4" title="Edit section's source code: Registri"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r130657691"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r139142988"> <div class="hatnote noprint vedi-anche"> <div class="hatnote-content"><span class="noviewer hatnote-icon" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/18px-Magnifying_glass_icon_mgx2.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/27px-Magnifying_glass_icon_mgx2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/36px-Magnifying_glass_icon_mgx2.svg.png 2x" data-file-width="286" data-file-height="280" /></span></span> <span class="hatnote-text">Lo stesso argomento in dettaglio: <b><a href="/wiki/Registro_(informatica)" title="Registro (informatica)">Registro (informatica)</a></b>.</span></div> </div> <p>I registri della JVM sono affini ai registri che si trovano in un computer reale, essi contengono lo stato in cui si trova la macchina durante le operazioni, influiscono sul funzionamento di quest'ultima e vengono aggiornati dopo l'esecuzione di ciascun <a href="/wiki/Bytecode" title="Bytecode">bytecode</a>. </p><p>La macchina virtuale Java include i seguenti registri: </p> <ul><li>pc - il <a href="/wiki/Program_counter" title="Program counter">program counter</a>, indica il bytecode che sta per essere eseguito.</li> <li>vars - un puntatore alla prima <a href="/wiki/Variabile_(informatica)" title="Variabile (informatica)">variabile</a> locale del metodo attualmente in esecuzione.</li> <li>frame - un puntatore all'ambiente di esecuzione del metodo corrente in esecuzione.</li> <li>optop - un puntatore al vertice dello stack degli operandi, è utilizzato per valutare tutte le espressioni aritmetiche.</li></ul> <p>L'ampiezza con cui Java definisce questi registri è di 32 bit. Essendo basata sullo stack, la macchina virtuale non fa alcun uso di registri per il passaggio o l'acquisizione di argomenti; ciò che ha portato i programmatori ad optare per questa scelta è stata la semplicità e la compattezza dei bytecode che favoriscono l'<a href="/wiki/Implementare" class="mw-redirect" title="Implementare">implementazione</a> della macchina virtuale su <a href="/wiki/Architettura_(computer)" title="Architettura (computer)">architetture</a> con pochi registri. </p> <div class="mw-heading mw-heading3"><h3 id="Stack">Stack</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=5" title="Modifica la sezione Stack" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=5" title="Edit section's source code: Stack"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Lo <a href="/wiki/Stack_(informatica)" class="mw-redirect" title="Stack (informatica)">stack</a>, che è alla base del funzionamento della macchina virtuale Java, viene utilizzato per passare i parametri alle istruzioni che vengono man mano eseguite e per ricevere i risultati da queste prodotti. Un <i>frame</i> dello stack di Java è affine a un <i>frame</i> dello stack di un convenzionale linguaggio di programmazione. Ogni frame contiene le informazioni associate ad una delle chiamate a metodo "impilate" sullo stack. </p><p>Ogni frame dello stack possiede tre aree (che potrebbero essere anche vuote): </p> <ul><li>Le variabili locali per la chiamata al metodo</li> <li>L'ambiente di esecuzione del metodo stesso</li> <li>Lo stack degli operandi</li></ul> <p>Non si confonda lo stack delle chiamate a metodo con lo stack degli operandi. Quest'ultimo funziona in modo autonomo rispetto all'altro. L'unica correlazione che corre tra i due è che il secondo viene gestito in una area di memoria interna ai frames che sono presenti nel primo. Molto semplicisticamente, potremmo dire che abbiamo a che fare con uno stack nello stack. </p> <div class="mw-heading mw-heading3"><h3 id="Area_di_heap">Area di heap</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=6" title="Modifica la sezione Area di heap" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=6" title="Edit section's source code: Area di heap"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Con il termine heap si fa riferimento a quel sito della <a href="/wiki/Memoria_(informatica)" title="Memoria (informatica)">memoria</a> nella quale vengono allocati gli <a href="/wiki/Oggetto_(informatica)" title="Oggetto (informatica)">oggetti</a> appena creati. Al momento dell'avvio della JVM, una certa area di memoria (più ampia o ridotta a seconda dell'implementazione della macchina virtuale) viene spesso assegnata allo heap. Alcune implementazioni assegnano fin dall'avvio una ampia quantità di memoria allo heap, tenendo tale quantità costante per tutta l'esecuzione del programma; altre permettono a quest'area di espandersi fin dove concesso dall'ambiente di esecuzione (tra i fattori che influenzano questa quantità ci sono le impostazioni del sistema operativo e la disponibilità effettiva di memoria sulla macchina che sta eseguendo il programma). Il <a href="/wiki/Garbage_collector" class="mw-redirect" title="Garbage collector">Garbage collector</a> è deputato alla rimozione degli oggetti non più utilizzati dal programma man mano che questo è in esecuzione. Ciò consente ai programmatori di svincolarsi dal compito di liberare "manualmente" (inserendo apposite istruzioni nel codice sorgente) la memoria allocata per un oggetto quando quest'ultimo ha esaurito la sua funzione nel programma. Tale compito è addirittura obbligatorio in linguaggi come il <a href="/wiki/C%2B%2B" title="C++">C++</a>. In effetti, il garbage collector è stato progettato proprio per evitare a <a href="/wiki/Run-time" title="Run-time">run-time</a> quegli errori che derivano dalla mancata <a href="/wiki/Allocazione_dinamica_della_memoria" title="Allocazione dinamica della memoria">deallocazione</a> di memoria non più utilizzata o dal tentativo di deallocare memoria ancora in uso dal programma. </p> <div class="mw-heading mw-heading3"><h3 id="Area_di_memorizzazione_dei_metodi">Area di memorizzazione dei metodi</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=7" title="Modifica la sezione Area di memorizzazione dei metodi" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=7" title="Edit section's source code: Area di memorizzazione dei metodi"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>L'area di memorizzazione dei <a href="/wiki/Metodo_(programmazione)" title="Metodo (programmazione)">metodi</a> contiene le tabelle dei simboli necessari per il link dinamico, informazioni di <a href="/wiki/Debugging" title="Debugging">debug</a> aggiuntive, ambienti di sviluppo da associare all'implementazione di qualsiasi metodo e i bytecode di Java che implementano tutti i metodi presenti nel sistema. Poiché i bytecode vengono memorizzati come flusso di byte, l'area dei metodi è allineata per byte mentre le altre aree sono allineate a parole di 32 bit. </p> <div class="mw-heading mw-heading3"><h3 id="Compilazione_Just-In-Time">Compilazione <i>Just-In-Time</i></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=8" title="Modifica la sezione Compilazione Just-In-Time" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=8" title="Edit section's source code: Compilazione Just-In-Time"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r130657691"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r139142988"> <div class="hatnote noprint vedi-anche"> <div class="hatnote-content"><span class="noviewer hatnote-icon" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/18px-Magnifying_glass_icon_mgx2.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/27px-Magnifying_glass_icon_mgx2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/36px-Magnifying_glass_icon_mgx2.svg.png 2x" data-file-width="286" data-file-height="280" /></span></span> <span class="hatnote-text">Lo stesso argomento in dettaglio: <b><a href="/wiki/Compilatore_just-in-time" title="Compilatore just-in-time">Compilatore just-in-time</a></b>.</span></div> </div> <p>Le prime implementazioni della macchina virtuale Java erano <i><a href="/wiki/Interprete_(informatica)" title="Interprete (informatica)">interpreti</a></i>. Questa soluzione si è però rivelata poco efficiente, in quanto i programmi interpretati erano comunque molto lenti. Per questo motivo, tutte le implementazioni recenti di macchine virtuali Java hanno incorporato un <a href="/wiki/Compilatore_just-in-time" title="Compilatore just-in-time">compilatore just-in-time</a> (<i>JIT compiler</i>), cioè un compilatore interno, che al momento del lancio traduce al volo il programma bytecode Java in un normale programma nel <a href="/wiki/Linguaggio_macchina" title="Linguaggio macchina">linguaggio macchina</a> del computer ospite<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>. Inoltre, questa ricompilazione è dinamica, cioè la macchina virtuale analizza costantemente il modello di esecuzione del codice (<i>profilattico</i>), e ottimizza ulteriormente le parti più frequentemente eseguite, mentre il programma è in esecuzione. </p><p>Questi accorgimenti, a prezzo di una piccola attesa in fase di lancio del programma, permettono di avere delle applicazioni Java decisamente più veloci e leggere. Tuttavia, anche così Java resta un linguaggio meno efficiente dei linguaggi propriamente compilati come il <a href="/wiki/C%2B%2B" title="C++">C++</a>, scontando il fatto di possedere degli strati di astrazione in più, e di implementare una serie di automatismi, come il <a href="/wiki/Garbage_collection" title="Garbage collection">garbage collector</a>, che se da un lato fanno risparmiare tempo ed errori in fase di sviluppo dei programmi, dall'altro consumano <a href="/wiki/Memoria_(informatica)" title="Memoria (informatica)">memoria</a> e tempo di <a href="/wiki/CPU" title="CPU">CPU</a> in fase di esecuzione del programma finito. </p> <div class="mw-heading mw-heading2"><h2 id="Implementazioni">Implementazioni</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=9" title="Modifica la sezione Implementazioni" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=9" title="Edit section's source code: Implementazioni"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Eclipse_Adoptium_Logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/16/Eclipse_Adoptium_Logo.svg/220px-Eclipse_Adoptium_Logo.svg.png" decoding="async" width="220" height="74" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/16/Eclipse_Adoptium_Logo.svg/330px-Eclipse_Adoptium_Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/16/Eclipse_Adoptium_Logo.svg/440px-Eclipse_Adoptium_Logo.svg.png 2x" data-file-width="1052" data-file-height="354" /></a><figcaption><a href="/w/index.php?title=Adoptium&action=edit&redlink=1" class="new" title="Adoptium (la pagina non esiste)">Adoptium</a> è un gruppo di lavoro della <a href="/w/index.php?title=Fondazione_Eclipse&action=edit&redlink=1" class="new" title="Fondazione Eclipse (la pagina non esiste)">fondazione Eclipse</a> che promuove l'uso delle <a href="/wiki/Piattaforma_Java" title="Piattaforma Java">tecnologie Java</a>. Tra l'altro distribuisce versioni <a href="/wiki/File_eseguibile" title="File eseguibile">pronte all'uso</a> di varie implementazioni della JVM.</figcaption></figure> <div class="mw-heading mw-heading3"><h3 id="HotSpot">HotSpot</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=10" title="Modifica la sezione HotSpot" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=10" title="Edit section's source code: HotSpot"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r130657691"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r139142988"> <div class="hatnote noprint vedi-anche"> <div class="hatnote-content"><span class="noviewer hatnote-icon" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/18px-Magnifying_glass_icon_mgx2.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/27px-Magnifying_glass_icon_mgx2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/87/Magnifying_glass_icon_mgx2.svg/36px-Magnifying_glass_icon_mgx2.svg.png 2x" data-file-width="286" data-file-height="280" /></span></span> <span class="hatnote-text">Lo stesso argomento in dettaglio: <b><a href="/wiki/HotSpot" title="HotSpot">HotSpot</a></b>.</span></div> </div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:OpenJDK_logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/18/OpenJDK_logo.svg/220px-OpenJDK_logo.svg.png" decoding="async" width="220" height="60" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/18/OpenJDK_logo.svg/330px-OpenJDK_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/18/OpenJDK_logo.svg/440px-OpenJDK_logo.svg.png 2x" data-file-width="512" data-file-height="140" /></a><figcaption><a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a> è la principale implementazione <a href="/wiki/Software_libero" title="Software libero">libera</a> della <a href="/wiki/Piattaforma_Java" title="Piattaforma Java">piattaforma Java</a>. Include un'implementazione di <a href="/wiki/HotSpot" title="HotSpot">HotSpot</a> per la componente JVM.</figcaption></figure> <p>HotSpot, ufficialmente nota come <i>Java HotSpot Performance Engine</i><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> è l'<a href="/wiki/Implementazione_di_riferimento" title="Implementazione di riferimento">implementazione di riferimento</a> della JVM, realizzata originariamente da <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> e successivamente gestita da <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>. </p><p>Dal 2006, con la creazione di <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>, HotSpot è <a href="/wiki/Software_libero" title="Software libero">software libero</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Zero">Zero</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=11" title="Modifica la sezione Zero" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=11" title="Edit section's source code: Zero"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Per sostituire le parti di <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a> che erano sotto licenza non open, è nato il progetto <a href="/w/index.php?title=IcedTea&action=edit&redlink=1" class="new" title="IcedTea (la pagina non esiste)">IcedTea</a>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> La macchina virtuale sviluppata in tale progetto si chiama HotSpot Zero Assembly, chiamata anche semplicemente Zero.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Il progetto ha anche lo scopo di supportare un numero maggiore di famiglie di processori rispetto alla macchina virtuale di Oracle. Per fare ciò, tutto il codice assembly presente in HotSpot è stato riscritto in C++, in modo da poter essere compilato su più architetture.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="OpenJ9">OpenJ9</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=12" title="Modifica la sezione OpenJ9" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=12" title="Edit section's source code: OpenJ9"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eclipse OpenJ9 (precedentemente conosciuta come IBM J9) è un'implementazione scalabile e ad alte performance della JVM, pienamente conforme alla <i>Java Virtual Machine Specification</i>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </p><p>È parte di varie distribuzioni di <a href="/wiki/OpenJDK" title="OpenJDK">OpenJDK</a>, tra cui IBM Semeru.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p><p>Rispetto a <a href="#HotSpot">HotSpot</a>, OpenJ9 presenta prestazioni migliori in fase di avvio e un minore utilizzo di memoria a livelli di produttività simili.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Le_altre_implementazioni">Le altre implementazioni</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=13" title="Modifica la sezione Le altre implementazioni" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=13" title="Edit section's source code: Le altre implementazioni"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Numerose altre parti forniscono regolarmente implementazioni della macchina virtuale Java, in genere con l'intento di competere con l'implementazione Oracle in quanto a prestazioni; in alcuni casi si tratta di implementazioni commerciali. Sono disponibili anche altre implementazioni <i><a href="/wiki/Open_source" title="Open source">open source</a></i>; fra le più note si può citare Waba<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>. Le specifiche della JVM vengono dettate e aggiornate dalla Oracle in quanto iniziatore e mantenitore del progetto, ma vengono spesso disattese da molte delle implementazioni <i>non-Oracle</i> di JVM che sono in circolazione, soprattutto per quanto riguarda il <a href="/wiki/Framework" title="Framework">framework</a> che ogni JVM include. Di conseguenza, le diverse JVM non sono totalmente compatibili tra loro ed occorre fare attenzione nello scrivere i programmi, se si vuole che essi funzionino su ogni JVM. La cosa migliore da fare a tale scopo sarebbe non usare le ultime caratteristiche del linguaggio introdotte dalla Oracle nelle JVM più recenti e usare delle <a href="/wiki/Application_programming_interface" title="Application programming interface">API</a> "stabili", che cioè siano presenti nella JVM Oracle da varie versioni. </p> <div class="mw-heading mw-heading2"><h2 id="Note">Note</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=14" title="Modifica la sezione Note" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=14" title="Edit section's source code: Note"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><a href="#cite_ref-1"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Simon Maple, <a rel="nofollow" class="external text" href="http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-kotlin-xtend/"><span style="font-style:italic;">The Adventurous Developer's Guide to JVM Languages</span></a>, su <span style="font-style:italic;">zeroturnaround.com</span>. <small>URL consultato il 30 maggio 2015</small>.</cite></span> </li> <li id="cite_note-2"><a href="#cite_ref-2"><b>^</b></a> <span class="reference-text"><cite class="citation libro" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Haase, C., <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/articles/javase/consumerjre-135093.html"><span style="font-style:italic;">Consumer JRE: Leaner, Meaner Java Technology</span></a>, Sun Microsystem, 2007. <small>URL consultato il 30 maggio 2015</small>.</cite></span> </li> <li id="cite_note-3"><a href="#cite_ref-3"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) <a rel="nofollow" class="external text" href="https://web.archive.org/web/20131101095145/http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747"><span style="font-style:italic;">Sun Announces Availability of the Java HotSpot Performance Engine</span></a>, su <span style="font-style:italic;">thefreelibrary.com</span>, Sun Microsystems <small>(archiviato dall'<abbr title="http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747">url originale</abbr> il 1º novembre 2013)</small>.</cite></span> </li> <li id="cite_note-4"><a href="#cite_ref-4"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070421151747/http://www.sun.com/2006-1113/feature/index.jsp"><span style="font-style:italic;">Sun Opens Java</span></a>, su <span style="font-style:italic;">sun.com</span>, 13 novembre 2006 <small>(archiviato dall'<abbr title="http://www.sun.com/2006-1113/feature/index.jsp">url originale</abbr> il 21 aprile 2007)</small>.</cite></span> </li> <li id="cite_note-5"><a href="#cite_ref-5"><b>^</b></a> <span class="reference-text">Progetto <a rel="nofollow" class="external text" href="http://icedtea.classpath.org/wiki/Main_Page">IcedTea</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20141006113838/http://icedtea.classpath.org/wiki/Main_Page">Archiviato</a> il 6 ottobre 2014 in <a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a>.</span> </li> <li id="cite_note-6"><a href="#cite_ref-6"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal"> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090823042123/http://icedtea.classpath.org/wiki/ZeroSharkFaq"><span style="font-style:italic;">Zero and Shark FAQ</span></a>, su <span style="font-style:italic;">icedtea.classpath.org</span>. <small>URL consultato il 3 ottobre 2014</small> <small>(archiviato dall'<abbr title="http://icedtea.classpath.org/wiki/ZeroSharkFaq">url originale</abbr> il 23 agosto 2009)</small>.</cite></span> </li> <li id="cite_note-7"><a href="#cite_ref-7"><b>^</b></a> <span class="reference-text"><a rel="nofollow" class="external text" href="https://today.java.net/pub/a/today/2009/05/21/zero-and-shark-openjdk-port.html">Zero and Shark: a Zero-Assembly Port of OpenJDK</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20141006113630/https://today.java.net/pub/a/today/2009/05/21/zero-and-shark-openjdk-port.html">Archiviato</a> il 6 ottobre 2014 in <a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a>.</span> </li> <li id="cite_note-8"><a href="#cite_ref-8"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Leonardo Zanivan, <a rel="nofollow" class="external text" href="https://medium.com/criciumadev/new-open-source-jvm-optimized-for-cloud-and-microservices-c75a41aa987d"><span style="font-style:italic;">New Open Source JVM optimized for Cloud and Microservices</span></a>, su <span style="font-style:italic;">medium.com</span>, 7 febbraio 2018.</cite></span> </li> <li id="cite_note-9"><a href="#cite_ref-9"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) <a rel="nofollow" class="external text" href="https://developer.ibm.com/blogs/introducing-the-ibm-semeru-runtimes/"><span style="font-style:italic;">Introducing the IBM Semeru Runtimes</span></a>, su <span style="font-style:italic;">developer.ibm.com</span>, 2 agosto 2021. <small>URL consultato il 3 maggio 2024</small>.</cite></span> </li> <li id="cite_note-10"><a href="#cite_ref-10"><b>^</b></a> <span class="reference-text"><cite class="citation web" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Dan Heidinga, <a rel="nofollow" class="external text" href="https://jaxenter.com/eclipse-openj9-145182.html"><span style="font-style:italic;">Eclipse OpenJ9; not just any Java Virtual Machine</span></a>, su <span style="font-style:italic;">jaxenter.com</span>, 6 agosto 2018. <small>URL consultato il 3 maggio 2024</small>.</cite></span> </li> <li id="cite_note-11"><a href="#cite_ref-11"><b>^</b></a> <span class="reference-text"><a rel="nofollow" class="external text" href="http://waba.sourceforge.net/php/waba/waba.php">Waba</a></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="Bibliografia">Bibliografia</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=15" title="Modifica la sezione Bibliografia" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=15" title="Edit section's source code: Bibliografia"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><cite class="citation pubblicazione" style="font-style:normal"> Ensemble Modo Antiquo., <a rel="nofollow" class="external text" href="http://worldcat.org/oclc/987961977"><span style="font-style:italic;">La musica dei crociati.</span></a>, Amadeus DARP, 2000. <small>URL consultato il 22 settembre 2022</small>.</cite></li> <li><cite class="citation libro" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Tim Lindholm, Frank Yellin, Gilad Bracha, Alex Buckley, <a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/jvms/se8/html/index.html"><span style="font-style:italic;">Java Virtual Machine Specification</span></a>, Java SE 8 Edition, 2014. <small>URL consultato il 3 ottobre 2014</small>.</cite></li> <li><cite class="citation libro" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Seth Sachin, <a rel="nofollow" class="external text" href="http://www.alphasci.com/books_display.asp?title=978-1-84265-815-4"><span style="font-style:italic;">Understanding Java virtual machine</span></a><style data-mw-deduplicate="TemplateStyles:r140554517">.mw-parser-output .chiarimento{background:#ffeaea;color:#444444}.mw-parser-output .chiarimento-apice{color:#EE0700}@media screen{html.skin-theme-clientpref-night .mw-parser-output .chiarimento{background:rgba(179,36,36,0.21);color:inherit}html.skin-theme-clientpref-night .mw-parser-output .chiarimento-apice{color:#b32424}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .chiarimento{background:rgba(179,36,36,0.21);color:inherit}html.skin-theme-clientpref-os .mw-parser-output .chiarimento-apice{color:#b32424}}</style><span class="chiarimento" title="A volte può capitare che un link presente su Wikipedia non sia più raggiungibile. Se possibile ritrova il link e inserisci il collegamento corretto, comunque non rimuovere il collegamento e inserisci il template {{Collegamento interrotto}}"></span><sup class="noprint chiarimento-apice" title="A volte può capitare che un link presente su Wikipedia non sia più raggiungibile. Se possibile ritrova il link e inserisci il collegamento corretto, comunque non rimuovere il collegamento e inserisci il template {{Collegamento interrotto}}">[<i><a href="/wiki/Aiuto:Collegamenti_interrotti" title="Aiuto:Collegamenti interrotti">collegamento interrotto</a></i>]</sup>, Alpha Science International Ltd, 2013. <small>URL consultato il 3 ottobre 2014</small>.</cite></li></ul> <div class="mw-heading mw-heading2"><h2 id="Voci_correlate">Voci correlate</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=16" title="Modifica la sezione Voci correlate" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=16" title="Edit section's source code: Voci correlate"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Piattaforma_Java" title="Piattaforma Java">Piattaforma Java</a></li> <li><a href="/wiki/Macchina_virtuale" title="Macchina virtuale">Macchina virtuale</a></li> <li><a href="/wiki/NanoVM" title="NanoVM">NanoVM</a></li> <li><a href="/wiki/IJVM" title="IJVM">IJVM</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Altri_progetti">Altri progetti</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=17" title="Modifica la sezione Altri progetti" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=17" title="Edit section's source code: Altri progetti"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <div id="interProject" class="toccolours" style="display: none; clear: both; margin-top: 2em"><p id="sisterProjects" style="background-color: #efefef; color: black; font-weight: bold; margin: 0"><span>Altri progetti</span></p><ul title="Collegamenti verso gli altri progetti Wikimedia"> <li class="" title=""><span class="plainlinks" title="commons:Category:Java Virtual Machine"><a class="external text" href="https://commons.wikimedia.org/wiki/Category:Java_Virtual_Machine?uselang=it">Wikimedia Commons</a></span></li></ul></div> <ul><li><span typeof="mw:File"><a href="https://commons.wikimedia.org/wiki/?uselang=it" title="Collabora a Wikimedia Commons"><img alt="Collabora a Wikimedia Commons" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png" decoding="async" width="18" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/27px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/36px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span> <span class="plainlinks"><a class="external text" href="https://commons.wikimedia.org/wiki/?uselang=it">Wikimedia Commons</a></span> contiene immagini o altri file sulla <b><span class="plainlinks"><a class="external text" href="https://commons.wikimedia.org/wiki/Category:Java_Virtual_Machine?uselang=it">macchina virtuale Java</a></span></b></li></ul> <div class="mw-heading mw-heading2"><h2 id="Collegamenti_esterni">Collegamenti esterni</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Macchina_virtuale_Java&veaction=edit&section=18" title="Modifica la sezione Collegamenti esterni" class="mw-editsection-visualeditor"><span>modifica</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Macchina_virtuale_Java&action=edit&section=18" title="Edit section's source code: Collegamenti esterni"><span>modifica wikitesto</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><cite id="CITEREFFOLDOC" class="citation testo" style="font-style:normal">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) Denis Howe, <span style="font-style:italic;"><a href="https://foldoc.org/Java_Virtual_Machine" class="extiw" title="foldoc:Java Virtual Machine">Java Virtual Machine</a></span>, in <span style="font-style:italic;"><a href="/wiki/Free_On-line_Dictionary_of_Computing" title="Free On-line Dictionary of Computing">Free On-line Dictionary of Computing</a></span>.</cite> Disponibile con licenza <a href="/wiki/GNU_Free_Documentation_License" title="GNU Free Documentation License">GFDL</a></li></ul> <div class="noprint" style="width:100%; padding: 3px 0; display: flex; flex-wrap: wrap; row-gap: 4px; column-gap: 8px; box-sizing: border-box;"><div style="flex-grow: 1"><style data-mw-deduplicate="TemplateStyles:r140555418">.mw-parser-output .itwiki-template-occhiello{width:100%;line-height:25px;border:1px solid #CCF;background-color:#F0EEFF;box-sizing:border-box}.mw-parser-output .itwiki-template-occhiello-progetto{background-color:#FAFAFA}@media screen{html.skin-theme-clientpref-night .mw-parser-output .itwiki-template-occhiello{background-color:#202122;border-color:#54595D}html.skin-theme-clientpref-night .mw-parser-output .itwiki-template-occhiello-progetto{background-color:#282929}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .itwiki-template-occhiello{background-color:#202122;border-color:#54595D}html.skin-theme-clientpref-os .mw-parser-output .itwiki-template-occhiello-progetto{background-color:#282929}}</style><div class="itwiki-template-occhiello"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Computer_n_screen.svg" class="mw-file-description" title="Informatica"><img alt=" " src="//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png" decoding="async" width="24" height="25" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/37px-Computer_n_screen.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/48px-Computer_n_screen.svg.png 2x" data-file-width="119" data-file-height="123" /></a></span> <b><a href="/wiki/Portale:Informatica" title="Portale:Informatica">Portale Informatica</a></b>: accedi alle voci di Wikipedia che trattano di Informatica</div></div></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐565d46677b‐ch744 Cached time: 20241128123821 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.186 seconds Real time usage: 0.265 seconds Preprocessor visited node count: 1763/1000000 Post‐expand include size: 20830/2097152 bytes Template argument size: 843/2097152 bytes Highest expansion depth: 9/100 Expensive parser function count: 1/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 13361/5000000 bytes Lua time usage: 0.104/10.000 seconds Lua memory usage: 2875774/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 205.717 1 -total 24.35% 50.098 7 Template:Cita_web 23.16% 47.653 4 Template:Vedi_anche 15.02% 30.905 1 Template:Interprogetto 12.14% 24.967 1 Template:Portale 11.38% 23.412 3 Template:Cita_libro 6.33% 13.020 1 Template:Chiarimento 5.61% 11.538 1 Template:Icona_argomento 4.19% 8.618 1 Template:FOLDOC 2.54% 5.221 1 Template:Cita_testo --> <!-- Saved in parser cache with key itwiki:pcache:116824:|#|:idhash:canonical and timestamp 20241128123821 and revision id 139408207. 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&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Estratto da "<a dir="ltr" href="https://it.wikipedia.org/w/index.php?title=Macchina_virtuale_Java&oldid=139408207">https://it.wikipedia.org/w/index.php?title=Macchina_virtuale_Java&oldid=139408207</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Categoria:Categorie" title="Categoria:Categorie">Categorie</a>: <ul><li><a href="/wiki/Categoria:Piattaforma_Java" title="Categoria:Piattaforma Java">Piattaforma Java</a></li><li><a href="/wiki/Categoria:Software_di_sistema" title="Categoria:Software di sistema">Software di sistema</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Categorie nascoste: <ul><li><a href="/wiki/Categoria:Template_Webarchive_-_collegamenti_all%27Internet_Archive" title="Categoria:Template Webarchive - collegamenti all'Internet Archive">Template Webarchive - collegamenti all'Internet Archive</a></li><li><a href="/wiki/Categoria:Pagine_con_collegamenti_non_funzionanti" title="Categoria:Pagine con collegamenti non funzionanti">Pagine con collegamenti non funzionanti</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Questa pagina è stata modificata per l'ultima volta il 22 mag 2024 alle 19:31.</li> <li id="footer-info-copyright">Il testo è disponibile secondo la <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.it">licenza Creative Commons Attribuzione-Condividi allo stesso modo</a>; possono applicarsi condizioni ulteriori. Vedi le <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use/it">condizioni d'uso</a> per i dettagli.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/it">Informativa sulla privacy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:Sala_stampa/Wikipedia">Informazioni su Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Avvertenze_generali">Avvertenze</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Codice di condotta</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Sviluppatori</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/it.wikipedia.org">Statistiche</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Dichiarazione sui cookie</a></li> <li id="footer-places-mobileview"><a href="//it.m.wikipedia.org/w/index.php?title=Macchina_virtuale_Java&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Versione mobile</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> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-j8jq4","wgBackendResponseTime":184,"wgPageParseReport":{"limitreport":{"cputime":"0.186","walltime":"0.265","ppvisitednodes":{"value":1763,"limit":1000000},"postexpandincludesize":{"value":20830,"limit":2097152},"templateargumentsize":{"value":843,"limit":2097152},"expansiondepth":{"value":9,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":13361,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 205.717 1 -total"," 24.35% 50.098 7 Template:Cita_web"," 23.16% 47.653 4 Template:Vedi_anche"," 15.02% 30.905 1 Template:Interprogetto"," 12.14% 24.967 1 Template:Portale"," 11.38% 23.412 3 Template:Cita_libro"," 6.33% 13.020 1 Template:Chiarimento"," 5.61% 11.538 1 Template:Icona_argomento"," 4.19% 8.618 1 Template:FOLDOC"," 2.54% 5.221 1 Template:Cita_testo"]},"scribunto":{"limitreport-timeusage":{"value":"0.104","limit":"10.000"},"limitreport-memusage":{"value":2875774,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-565d46677b-ch744","timestamp":"20241128123821","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Macchina virtuale Java","url":"https:\/\/it.wikipedia.org\/wiki\/Macchina_virtuale_Java","sameAs":"http:\/\/www.wikidata.org\/entity\/Q193321","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q193321","author":{"@type":"Organization","name":"Contributori ai progetti Wikimedia"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-06-28T08:28:27Z","dateModified":"2024-05-22T18:31:56Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/it\/2\/2e\/Java_Logo.svg","headline":"componente della piattaforma Java responsabile per l'esecuzione dei programmi in formato bytecode"}</script> </body> </html>