hotspot | |
---|---|
Tyyppi | Java-virtuaalikone |
Kehittäjä | Oracle (aiemmin Sun Microsystems ) |
Sisään kirjoitettu | C++ |
Käyttöjärjestelmä | Monialustainen ohjelmisto |
Ensimmäinen painos | 1999 [1] |
uusin versio | 25.77-b03 |
Lisenssi | GNU yleinen julkinen lisenssi |
Verkkosivusto | openjdk.java.net/groups/… |
HotSpot on Oracle Corporationin julkaisema Java-virtuaalikone (JVM) sekä asiakas- että palvelintietokoneille . Suorituskyvyn parantamiseksi siinä on JIT- dynaaminen käännös ja mukautuva optimointitekniikka .
HotSpotin, joka julkaistiin ensimmäisen kerran 27. huhtikuuta 1999, kehitti alun perin Longview Technologies, pieni vuonna 1994 perustettu yritys . Vuonna 1997 Sun Microsystems [2] osti yrityksen . Aluksi HotSpotia käytettiin Java 1.2:n lisäyksenä, mutta tästä virtuaalikoneesta tuli pääkone Java 1.3:n julkaisun myötä [3] .
Tätä JVM :ää kutsutaan "HotSpotiksi", koska "Java"-tavukoodia suoritettaessa se etsii "hot spots" -pisteitään (englanniksi "hot spots") - suoritetaan toistuvasti. Haun tarkoituksena on optimoida niiden suoritus: antaa heille enemmän resursseja ja vähentää yleiskustannuksia, jotta he voivat suorittaa vähemmän resurssia vaativaa koodia.
HotSpotia kutsutaan usein luokkansa tehokkaimmaksi JVM:ksi. Teoriassa adaptiivisen optimoinnin avulla tässä JVM:ssä suoritettava ohjelma voi olla tehokkaampi kuin sen alkuperäinen vastine [4] .
"HotSpot"-virtuaalikone on kirjoitettu " C++ "-kielellä. Kuten HotSpot-kotisivulla todetaan, sen lähdekoodin koko on 250 000 riviä [5] . Hotspot tarjoaa seuraavat toiminnot:
Virtuaalikoneen asiakasversiolle on ominaista lyhyempi sovelluksen käynnistysaika ja pienempi muistinkulutus verrattuna palvelinversioon, mutta suorituskyvyltään viimeksi mainitulle periksi.
"HotSpot" tukee suurta määrää komentoriviargumentteja virtuaalikoneen konfiguroimiseksi käynnistyksen yhteydessä. Jotkut niistä ovat vakiomuotoisia ja muiden JVM -toteutusten tukemia , toiset eivät, koska ne ovat erityisiä ( -Xtai alkavat vaihtoehdot -XX) [6] [7] [8] [9] .
13. marraskuuta 2006 Sun Microsystemsin virtuaalikone ja JDK julkaistiin GPL v2 -lisenssillä [10] (katso Sunin OpenJDK Hotspot -sivu ). Tästä koodista tuli osa Java 7:ää.
JDK : n osalta Oracle tukee HotSpotia tällä hetkellä Microsoft Windows- , Linux- ja Solaris -käyttöjärjestelmissä . ISA - tuen tarjoavat IA-32- , x86-64- ja SPARC -alustat (vain Solarisissa). [yksitoista]
Saatavilla on myös kolmannen osapuolen portteja Mac OS X :lle ja muille Unix - käyttöjärjestelmille . Useita erilaisia laitteistoarkkitehtuureja tuetaan, mukaan lukien x86, PowerPC ja SPARC (vain Solaris).
HotSpotin siirtämistä vaikeuttaa se, että tämä virtuaalikone on kirjoitettu pääasiassa C ++ -kielellä kokoonpanokielen lisäosien avulla [12] . Tämän välttämiseksi IcedTea -projekti on kehittänyt yleisen HotSpot-tulkin portin nimeltä zero-assembler Hotspot (tai yksinkertaisesti nolla ), joka sisältää vain vähän tai ei ollenkaan kokoonpanokoodia. Tätä porttia kehitetään tavoitteena tehdä HotSpot kannettava erilaisille Linux -suoritinarkkitehtuureille , mikä tekee siitä lähes rajattomasti kannettavan. Zero-assembler Hotspot -koodia on käytetty kaikissa ei - x86 -arkkitehtuureissa ( PPC , IA64 , S390 ja ARM ) versiosta 1.6 lähtien [13] [14] [15] .
IcedTean kehittäjä Gary Benson kehittää parhaillaan dynaamisen JIT - kokoelman alustariippumatonta toteutusta nimeltä Shark for HotSpot käyttäen LLVM : ää Hotspotin nolla-assemblerin lisäksi [16] [17] .
Java-virtuaalikoneet ( vertailu ) | |
---|---|
Aurinko , Oraakkeli | |
Tärkeimmät toteutukset | |
Upotettu |
|
Muut | |
Ei tuettu |