Hotspot

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 19. tammikuuta 2014 tarkistetusta versiosta . tarkastukset vaativat 20 muokkausta .
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 .

Historia

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] .

Etymologia

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.

Näkökulmat

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] .

Ominaisuudet

"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.

JVM-liput

"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] .

Lisenssi

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:ää.

Tuetut alustat

Tukee Sun Microsystems

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]

Portit kolmansilta osapuolilta

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] .

Katso myös

Muistiinpanot

  1. https://web.archive.org/web/thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3b...-a054477747 - 1999.
  2. Sun's Goslingin esikatselut Hotspot Java Virtual Machine . ComputerGram (13. helmikuuta 1998). Haettu: 25. heinäkuuta 2010.
  3. Sun Microsystems julkaisee tähän mennessä nopeimman asiakaspuolen Java-alustan (downlink) . Sun Microsystems (8. toukokuuta 2000). Haettu 25. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  4. Lewis, JP Performance of Java versus C++ (pääsemätön linkki) ( 2004 ). Haettu 25. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  5. HotSpot Group (downlink) . Sun Microsystems ( 2007 ). — « C/C++ otsikko- ja lähdetiedostoja on lähes 1500, jotka sisältävät lähes 250 000 koodiriviä ». Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  6. Java HotSpot VM -asetukset (downlink) . Sun Microsystems . Haettu 8. helmikuuta 2009. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  7. Mocker, Joseph D. JVM-vaihtoehtojen kokoelma (downlink) (28. elokuuta 2007). Haettu 20. heinäkuuta 2010. Arkistoitu alkuperäisestä 13. lokakuuta 2012. 
  8. Maximovich, Dmitri Täydellisin luettelo -XX vaihtoehdoista Java 6 JVM:lle (linkki ei saatavilla) . Haettu 20. heinäkuuta 2010. Arkistoitu alkuperäisestä 30. tammikuuta 2010. 
  9. Nutter, Charles My Favourite Hotspot JVM Flags (downlink) (29. tammikuuta 2009). Haettu 20. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  10. Sun avaa Javan (downlink) . Sun Microsystems (13. marraskuuta 2006). Haettu 20. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  11. Tuetut järjestelmämääritykset (downlink) . Oracle . Haettu 1. tammikuuta 2011. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  12. Gary, Benson Garyn opas IcedTean siirtämiseen (downlink) (6. marraskuuta 2007). Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  13. Gary, Benson 1. helmikuuta 2008 (downlink) (1. helmikuuta 2008). Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  14. Andrew, Haley Nolla-assemblerin tekeminen oletusarvoiseksi ppc:ssä (downlink) (31. tammikuuta 2008). Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  15. Lilian, Angel IcedTea 1.6 julkaistu Zero-assembler- ja JNLP-tuella! (linkki ei saatavilla) . Punainen hattu (13. helmikuuta 2008). Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  16. Gary, Benson 31. maaliskuuta 2008 (downlink) . Punainen hattu (21. heinäkuuta 2010). Haettu 30. toukokuuta 2008. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 
  17. Gary, Benson 28. toukokuuta 2008 (downlink) . Punainen hattu (28. toukokuuta 2008). - Shark on alustasta riippumaton JIT HotSpotille, joka täydentää käyttämäämme zero-assembler-tulkkia . Käyttöpäivä: 21. heinäkuuta 2010. Arkistoitu alkuperäisestä 3. toukokuuta 2012. 

Linkit