Hotspot

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 19. ledna 2014; kontroly vyžadují 20 úprav .
hotspot
Typ Java virtuální stroj
Vývojář Oracle (dříve Sun Microsystems )
Zapsáno v C++
Operační systém Multiplatformní software
První vydání 1999 [1]
Nejnovější verze 25,77-b03
Licence GNU General Public License
webová stránka openjdk.java.net/groups/…

HotSpot  je základní virtuální stroj Java (JVM) pro klientské i serverové počítače , vydaný společností Oracle Corporation. Pro zlepšení výkonu má technologie dynamické kompilace a adaptivní optimalizace JIT .

Historie

HotSpot, poprvé vydaný 27. dubna 1999, byl původně vyvinut Longview Technologies, malou společností založenou v roce 1994 . V roce 1997 koupila společnost Sun Microsystems [2] . Nejprve byl HotSpot používán jako doplněk k Javě 1.2, nicméně tento virtuální stroj se stal hlavním s vydáním Javy 1.3 [3] .

Etymologie

Tento JVM se nazývá „HotSpot“, protože při provádění bajtkódu „Java“ hledá svá „horká“ místa (anglicky „horká místa“) – opakovaně spouštěná. Hledání je zaměřeno na optimalizaci jejich provádění: poskytuje jim více zdrojů spolu se snížením režie pro provádění méně náročného kódu.

Perspektivy

HotSpot je často označován jako nejvýkonnější JVM ve své třídě. Teoreticky může být program, který běží v tomto JVM, pomocí adaptivní optimalizace výkonnější než jeho nativní ekvivalent [4] .

Funkce

Virtuální stroj "HotSpot" je napsán v " C++ ". Jak je uvedeno na domovské stránce HotSpot, velikost jeho zdrojového kódu je 250 000 řádků [5] . Hotspot poskytuje následující funkce:

Klientská verze virtuálního stroje se vyznačuje kratší dobou spouštění aplikace a menší spotřebou paměti ve srovnání se serverovou verzí, zatímco serverové verzi podléhá ve výkonu.

Příznaky JVM

"HotSpot" podporuje velké množství argumentů příkazového řádku pro konfiguraci virtuálního stroje při spuštění. Některé z nich jsou standardní a podporované jinými implementacemi JVM , jiné nikoli, protože jsou specifické (možnosti začínající na -Xnebo -XX) [6] [7] [8] [9] .

Licence

13. listopadu 2006 byly virtuální stroje a JDK společnosti Sun Microsystems vydány pod licencí GPL v2 [10] (viz stránka Sun OpenJDK Hotspot ). Tento kód se stal součástí Java 7.

Podporované platformy

Podporováno společností Sun Microsystems

Pokud jde o JDK , HotSpot je v současné době podporován společností Oracle na operačních systémech Microsoft Windows , Linux a Solaris . Podporu pro ISA poskytují platformy IA-32 , x86-64 a SPARC (pouze na Solarisu). [jedenáct]

Porty od třetích stran

K dispozici jsou také porty třetích stran pro Mac OS X a další unixové operační systémy . Je podporováno několik různých hardwarových architektur, včetně x86, PowerPC a SPARC (pouze Solaris).

Portování HotSpot je komplikováno skutečností, že tento virtuální stroj je napsán převážně v jazyce C++ pomocí vložek v assembleru [12] . Aby se tomu zabránilo, projekt IcedTea vyvinul generický port interpretu HotSpot nazvaný zero-assembler Hotspot (nebo jednoduše zero ), který obsahuje málo nebo žádný kód sestavení. Tento port je vyvíjen s cílem učinit HotSpot přenositelným na různé linuxové procesorové architektury , takže je přenosný téměř neomezeně. Kód Zero-assembler Hotspot se používá pro všechny architektury jiné než x86 ( PPC , IA64 , S390 a ARM ) od verze 1.6 [13] [14] [15] .

Gary Benson , vývojář IcedTea, v  současné době vyvíjí na platformě nezávislou implementaci dynamické kompilace JIT nazvanou Shark for HotSpot využívající LLVM jako doplněk k nulovému asembleru Hotspot [16] [17] .

Viz také

Poznámky

  1. https://web.archive.org/web/thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3b...-a054477747 - 1999.
  2. Sun's Gosling Náhledy hotspotu Java Virtual Machine . ComputerGram (13. února 1998). Staženo: 25. července 2010.
  3. Sun Microsystems vydává dosud nejrychlejší platformu Java na straně klienta (downlink) . Sun Microsystems (8. května 2000). Získáno 25. července 2010. Archivováno z originálu 3. května 2012. 
  4. Lewis, JP Performance of Java versus C++ (nepřístupný odkaz) ( 2004 ). Získáno 25. července 2010. Archivováno z originálu 3. května 2012. 
  5. The HotSpot Group (downlink) . Sun Microsystems ( 2007 ). — « Existuje téměř 1500 hlaviček a zdrojových souborů C/C++, které obsahují téměř 250 000 řádků kódu ». Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 
  6. Možnosti Java HotSpot VM (downlink) . Sun Microsystems . Získáno 8. února 2009. Archivováno z originálu 3. května 2012. 
  7. Mocker, Joseph D. A Collection of JVM Options (downlink) (28. srpna 2007). Získáno 20. července 2010. Archivováno z originálu 13. října 2012. 
  8. Maximovich, Dmitri Nejúplnější seznam možností -XX pro Java 6 JVM (odkaz není k dispozici) . Získáno 20. července 2010. Archivováno z originálu 30. ledna 2010. 
  9. Nutter, Charles My Favorite Hotspot JVM Flags (downlink) (29. ledna 2009). Získáno 20. července 2010. Archivováno z originálu 3. května 2012. 
  10. Sun otevírá Java (downlink) . Sun Microsystems (13. listopadu 2006). Získáno 20. července 2010. Archivováno z originálu 3. května 2012. 
  11. Podporované konfigurace systému (downlink) . Oracle . Získáno 1. ledna 2011. Archivováno z originálu 3. května 2012. 
  12. Gary, Benson Garyho průvodce portováním IcedTea (downlink) (6. listopadu 2007). Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 
  13. Gary, Benson 1. února 2008 (odkaz dolů) (1. února 2008). Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 
  14. Andrew, Haley Nastavení zero-assembleru jako výchozího na ppc (downlink) (31. ledna 2008). Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 
  15. Lilian, Angel IcedTea 1.6 Vydán s podporou Zero-assembler a JNLP! (nedostupný odkaz) . Red hat (13. února 2008). Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 
  16. Gary, Benson 31. března 2008 (downlink) . Red hat (21. července 2010). Získáno 30. května 2008. Archivováno z originálu 3. května 2012. 
  17. Gary, Benson 28. května 2008 (downlink) . Red hat (28. května 2008). - Shark je platformově nezávislý JIT pro HotSpot, který doplňuje interpreter zero-assembler, který jsme používali . Datum přístupu: 21. července 2010. Archivováno z originálu 3. května 2012. 

Odkazy