Hotspot

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. januar 2014; checks kræver 20 redigeringer .
hotspot
Type Java virtuel maskine
Udvikler Oracle (tidligere Sun Microsystems )
Skrevet i C++
Operativ system Cross-platform software
Første udgave 1999 [1]
nyeste version 25,77-b03
Licens GNU General Public License
Internet side openjdk.java.net/groups/…

HotSpot  er en kerne virtuel Java-maskine (JVM) til både klient- og servercomputere , udgivet af Oracle Corporation. For at forbedre ydeevnen har den JIT dynamisk kompilering og adaptive optimeringsteknologier .

Historie

HotSpot, der først blev udgivet den 27. april 1999, blev oprindeligt udviklet af Longview Technologies, et lille firma grundlagt i 1994 . I 1997 købte Sun Microsystems [2] virksomheden . I første omgang blev HotSpot brugt som en tilføjelse til Java 1.2, men denne virtuelle maskine blev den vigtigste med udgivelsen af ​​Java 1.3 [3] .

Etymologi

Denne JVM kaldes "HotSpot", fordi den, når den udfører "Java"-bytekoden , leder efter sine "hot spots" (engelsk "hot spots") - gentagne gange. Søgningen er rettet mod at optimere deres eksekvering: give dem flere ressourcer sammen med at reducere overhead for at udføre mindre ressourcekrævende kode.

Perspektiver

HotSpot omtales ofte som den højest ydende JVM i sin klasse. I teorien, gennem adaptiv optimering, kan et program, der kører i denne JVM, være mere effektivt end dets oprindelige ækvivalent [4] .

Funktioner

Den virtuelle "HotSpot"-maskine er skrevet i " C++ ". Som angivet på HotSpot-hjemmesiden er dens kildekodestørrelse 250.000 linjer [5] . Hotspot giver følgende funktionalitet:

Klientversionen af ​​den virtuelle maskine er kendetegnet ved lavere applikationsstarttid og mindre hukommelsesforbrug sammenlignet med serverversionen, mens den giver efter for sidstnævnte i ydeevne.

JVM flag

"HotSpot" understøtter et stort antal kommandolinjeargumenter til at konfigurere den virtuelle maskine ved opstart. Nogle af dem er standard og understøttes af andre JVM- implementeringer , andre er ikke, fordi de er specifikke (indstillinger, der starter med -Xeller -XX) [6] [7] [8] [9] .

Licens

Den 13. november 2006 blev Sun Microsystems virtuelle maskine og JDK frigivet under GPL v2-licensen [10] (se Suns OpenJDK Hotspot-side ). Denne kode blev en del af Java 7.

Understøttede platforme

Understøttet af Sun Microsystems

Med hensyn til JDK er HotSpot i øjeblikket understøttet af OracleMicrosoft Windows , Linux og Solaris operativsystemer . Support til ISA'er leveres af platformene IA-32 , x86-64 og SPARC (kun på Solaris). [elleve]

Porte fra tredjeparter

Tredjepartsporte til Mac OS X og andre Unix -operativsystemer er også tilgængelige . Flere forskellige hardwarearkitekturer understøttes, herunder x86, PowerPC og SPARC (kun Solaris).

Portering af HotSpot er kompliceret af det faktum, at denne virtuelle maskine hovedsageligt er skrevet i C++ ved hjælp af assemblersprogsindsættelser [12] . For at undgå dette har IcedTea- projektet udviklet en generisk port af HotSpot-fortolkeren kaldet zero-assembler Hotspot (eller blot nul ), der indeholder lidt eller ingen samlingskode. Denne port udvikles med det mål at gøre HotSpot bærbar til forskellige Linux -processorarkitekturer , hvilket gør den næsten ubegrænset bærbar. Zero-assembler Hotspot -kode bruges til alle ikke - x86 -arkitekturer ( PPC , IA64 , S390 og ARM ) siden version 1.6 [13] [14] [15] .

Gary Benson , udvikler af  IcedTea, er i øjeblikket ved at udvikle en platformsuafhængig implementering af dynamisk JIT -kompilering kaldet Shark for HotSpot ved hjælp af LLVM ud over Hotspots nul-assembler [16] [17] .

Se også

Noter

  1. https://web.archive.org/web/thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3b...-a054477747 - 1999.
  2. Sun's Gosling Previews Hotspot Java Virtual Machine . ComputerGram (13. februar 1998). Hentet: 25. juli 2010.
  3. Sun Microsystems frigiver den hurtigste Java-platform på klientsiden til dato (downlink) . Sun Microsystems (8. maj 2000). Hentet 25. juli 2010. Arkiveret fra originalen 3. maj 2012. 
  4. Lewis, JP Performance of Java versus C++ (utilgængeligt link) ( 2004 ). Hentet 25. juli 2010. Arkiveret fra originalen 3. maj 2012. 
  5. HotSpot-gruppen (downlink) . Sun Microsystems ( 2007 ). — « Der er næsten 1500 C/C++ header- og kildefiler, der omfatter næsten 250.000 linjer kode ». Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 
  6. Java HotSpot VM-indstillinger (downlink) . Sun Microsystems . Hentet 8. februar 2009. Arkiveret fra originalen 3. maj 2012. 
  7. Mocker, Joseph D. En samling af JVM-muligheder (downlink) (28. august 2007). Hentet 20. juli 2010. Arkiveret fra originalen 13. oktober 2012. 
  8. Maximovich, Dmitri Den mest komplette liste over -XX muligheder for Java 6 JVM (link ikke tilgængeligt) . Hentet 20. juli 2010. Arkiveret fra originalen 30. januar 2010. 
  9. Nutter, Charles My Favorit Hotspot JVM Flags (downlink) (29. januar 2009). Hentet 20. juli 2010. Arkiveret fra originalen 3. maj 2012. 
  10. Sun åbner Java (downlink) . Sun Microsystems (13. november 2006). Hentet 20. juli 2010. Arkiveret fra originalen 3. maj 2012. 
  11. Understøttede systemkonfigurationer (downlink) . Oracle . Hentet 1. januar 2011. Arkiveret fra originalen 3. maj 2012. 
  12. Gary, Benson Garys guide til portering af IcedTea (downlink) (6. november 2007). Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 
  13. Gary, Benson 1. februar 2008 (downlink) (1. februar 2008). Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 
  14. Andrew, Haley Gør zero-assembler til standard på ppc (downlink) (31. januar 2008). Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 
  15. Lilian, Angel IcedTea 1.6 udgivet med Zero-assembler og JNLP-understøttelse! (utilgængeligt link) . Rød hat (13. februar 2008). Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 
  16. Gary, Benson 31. marts 2008 (downlink) . Rød hat (21. juli 2010). Hentet 30. maj 2008. Arkiveret fra originalen 3. maj 2012. 
  17. Gary, Benson 28. maj 2008 (downlink) . Rød hat (28. maj 2008). - Shark er en platform-uafhængig JIT til HotSpot, som komplement til den nul-assembler-fortolker, vi har brugt . Dato for adgang: 21. juli 2010. Arkiveret fra originalen den 3. maj 2012. 

Links