हॉटस्पॉट (वर्चुअल मशीन): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Java virtual machine}} {{About|Oracle's Java virtual machine||Hotspot (disambiguation){{!}}Hotspot}} {{lead too short|date=October 2018}} {{Infobox softwa...")
 
No edit summary
Line 1: Line 1:
{{Short description|Java virtual machine}}
{{About|Oracle's Java virtual machine||Hotspot (disambiguation){{!}}Hotspot}}
{{lead too short|date=October 2018}}
{{Infobox software
{{Infobox software
| name = Java HotSpot Virtual Machine
| name = जावा हॉटस्पॉट वर्चुअल मशीन
| logo =
| logo =
| caption =
| caption =
| author = [[Sun Microsystems]]
| author = [[सन माइक्रोसिस्टम्स]]
| developer = [[Oracle Corporation]]
| developer = [[ओरेकल कॉर्पोरेशन]]
| released = {{Start date and age|1999|04|27}}<ref name=HotSpot1.0PR>{{cite web|title=Sun Announces Availability of the Java HotSpot Performance Engine
| released = {{प्रारंभ तिथि और आयु|1999|04|27}}<रेफरी नाम=हॉटस्पॉट1.0पीआर>{{साइट वेब|टाइटल=सूर्य ने जावा हॉटस्पॉट प्रदर्शन इंजन की उपलब्धता की घोषणा की
|archive-url=https://web.archive.org/web/20131101095145/http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747|archive-date=1 August 2013|url=http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747|work=Press Release|publisher=Sun Microsystems|access-date=26 March 2013}}</ref>
|archive-url=https://web.archive.org/web/20131101095145/http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B.. .-a054477747|archive-date=1 अगस्त 2013|url=http://www.thefreelibrary.com/Sun+Announces+Availability+of+the+Java+HotSpot+Performance+Engine%3B...-a054477747|कार्य =प्रेस विज्ञप्ति|प्रकाशक=सन माइक्रोसिस्टम्स|एक्सेस-डेट=26 मार्च 2013}}</ref>
| latest release version = 23.25-b01
| latest release version = 23.25-बी01
| latest release date = {{Start date and age|2016|01|01}}
| latest release date = {{प्रारंभ तिथि और उम्र|2016|01|01}}
| operating system = [[Cross-platform]]
| operating system = [[क्रॉस-प्लेटफ़ॉर्म]]
| programming language = [[C++]], [[Assembly language|Assembly]]
| programming language = [[सी++]], [[विधानसभा भाषा |विधानसभा]]
| genre = [[Java virtual machine]]
| genre = [[जावा वर्चुअल मशीन]]
| license = Proprietary (early versions), [[GNU General Public License]] (current)
| license = मालिकाना (प्रारंभिक संस्करण), [[जीएनयू जनरल पब्लिक लाइसेंस]] (वर्तमान)
| website = {{URL|openjdk.java.net/groups/hotspot}}
| website = {{URL|openjdk.java.net/groups/hotspot}}
}}
}}
हॉटस्पॉट, जावा हॉटस्पॉट प्रदर्शन इंजन के रूप में जारी किया गया,<ref name=HotSpot1.0PR />[[डेस्कटॉप कंप्यूटर]] और [[सर्वर (कंप्यूटिंग)]] कंप्यूटर के लिए एक [[जावा वर्चुअल मशीन]] है, जिसे [[सन माइक्रोसिस्टम्स]] द्वारा विकसित किया गया है और अब [[Oracle Corporation]] द्वारा इसका रखरखाव और वितरण किया जाता है। यह [[समय-समय पर संकलन]] और [[अनुकूली अनुकूलन]] जैसे तरीकों के माध्यम से बेहतर प्रदर्शन की सुविधा देता है।
हॉटस्पॉट, जावा हॉटस्पॉट प्रदर्शन इंजन के रूप में जारी किया गया,<ref name=HotSpot1.0PR />[[डेस्कटॉप कंप्यूटर]] और [[सर्वर (कंप्यूटिंग)]] कंप्यूटर के लिए एक [[जावा वर्चुअल मशीन]] है, जिसे [[सन माइक्रोसिस्टम्स]] द्वारा विकसित किया गया है और अब [[Oracle Corporation]] द्वारा इसका रखरखाव और वितरण किया जाता है। यह [[समय-समय पर संकलन]] और [[अनुकूली अनुकूलन]] जैसे तरीकों के माध्यम से बेहतर प्रदर्शन की सुविधा देता है।



Revision as of 23:54, 23 February 2023

जावा हॉटस्पॉट वर्चुअल मशीन
Original author(s)सन माइक्रोसिस्टम्स
Developer(s)ओरेकल कॉर्पोरेशन
Initial release<रेफरी नाम=हॉटस्पॉट1.0पीआर>Template:साइट वेब</ref>
Stable release
Written inसी++, विधानसभा
Operating systemक्रॉस-प्लेटफ़ॉर्म
Typeजावा वर्चुअल मशीन
Licenseमालिकाना (प्रारंभिक संस्करण), जीएनयू जनरल पब्लिक लाइसेंस (वर्तमान)
Websiteopenjdk.java.net/groups/hotspot

हॉटस्पॉट, जावा हॉटस्पॉट प्रदर्शन इंजन के रूप में जारी किया गया,[1]डेस्कटॉप कंप्यूटर और सर्वर (कंप्यूटिंग) कंप्यूटर के लिए एक जावा वर्चुअल मशीन है, जिसे सन माइक्रोसिस्टम्स द्वारा विकसित किया गया है और अब Oracle Corporation द्वारा इसका रखरखाव और वितरण किया जाता है। यह समय-समय पर संकलन और अनुकूली अनुकूलन जैसे तरीकों के माध्यम से बेहतर प्रदर्शन की सुविधा देता है।

इतिहास

जावा हॉटस्पॉट प्रदर्शन इंजन 27 अप्रैल, 1999 को जारी किया गया था।[1]मजबूत बात नाम की प्रोग्रामिंग भाषा स्मॉलटाक के कार्यान्वयन से तकनीकों पर निर्मित, मूल रूप से लॉन्गव्यू टेक्नोलॉजीज द्वारा विकसित किया गया था, जो एनीमॉर्फिक के रूप में कारोबार करता था। लॉन्गव्यू वर्चुअल मशीन स्वयं (प्रोग्रामिंग भाषा) वर्चुअल मशीन पर आधारित थी, जिसमें फास्ट-एंड-डंब फर्स्ट कंपाइलर की जगह एक दुभाषिया था। जब सन ने सेल्फ प्रोजेक्ट को रद्द कर दिया, तो दो प्रमुख लोगों, उर्स होल्ज़ले और लार्स बाक (कंप्यूटर प्रोग्रामर) ने लॉन्गव्यू शुरू करने के लिए सन को छोड़ दिया। 1997 में, सन माइक्रोसिस्टम्स ने एनिमॉर्फिक को खरीद लिया।[2] एनिमॉर्फिक प्राप्त करने के कुछ समय बाद, सन ने जावा वर्चुअल मशीन के लिए एक नया जस्ट-इन-टाइम संकलन | जस्ट-इन-टाइम (JIT) कंपाइलर लिखने का फैसला किया।[3] यह नया कंपाइलर सॉफ़्टवेयर के व्यवहार से प्राप्त हॉटस्पॉट नाम को जन्म देगा: चूंकि यह जावा बाइटकोड चलाता है, जैसा कि सेल्फ वीएम के साथ होता है, हॉटस्पॉट लगातार हॉट स्पॉट (कंप्यूटर प्रोग्रामिंग) के लिए प्रोग्राम के प्रदर्शन का विश्लेषण करता है जो अक्सर या बार-बार निष्पादित होते हैं। इसके बाद इन्हें ऑप्टिमाइज़ेशन (कंप्यूटर साइंस) के लिए लक्षित किया जाता है, जिससे कम प्रदर्शन-महत्वपूर्ण कोड के लिए न्यूनतम ओवरहेड के साथ उच्च-प्रदर्शन निष्पादन होता है। एक रिपोर्ट में, JVM ने कुछ बेंचमार्क में C++ या C (प्रोग्रामिंग लैंग्वेज) कोड को पीछे छोड़ दिया।[4] प्रारंभ में जावा 1.2 के लिए ऐड-ऑन के रूप में उपलब्ध है,[5] Java 1.3 में HotSpot डिफ़ॉल्ट Sun JVM बन गया।[6]


विशेषताएं

जावा क्रम पर्यावरण (मूल रूप से सन से, अब ओरेकल से) में दो वर्चुअल मशीन हैं, एक को क्लाइंट और दूसरे को सर्वर कहा जाता है। क्लाइंट संस्करण को त्वरित लोडिंग के लिए ट्यून किया गया है। यह व्याख्या का उपयोग करता है। सर्वर संस्करण अधिक धीमी गति से लोड होता है, उच्च प्रदर्शन प्राप्त करने के लिए अत्यधिक अनुकूलित जस्ट-इन-टाइम संकलन बनाने में अधिक प्रयास करता है। दोनों वीएम केवल अक्सर चलने वाली विधियों को संकलित करते हैं, कॉन्फ़िगर करने योग्य आमंत्रण-गणना थ्रेसहोल्ड का उपयोग करके यह तय करने के लिए कि कौन सी विधियों को संकलित करना है।

टायर्ड संकलन, जावा 7 में पेश किया गया एक विकल्प, सर्वर कंपाइलर की तुलना में तेज़ स्टार्टअप समय प्रदान करने के लिए क्लाइंट और सर्वर कंपाइलर दोनों का उपयोग करता है, लेकिन समान या बेहतर चरम प्रदर्शन।[7] जावा 8 में शुरू, स्तरित संकलन सर्वर वीएम के लिए डिफ़ॉल्ट है।[8] हॉटस्पॉट सी ++ और असेंबली में लिखा गया है। 2007 में, सन ने अनुमान लगाया कि इसमें स्रोत कोड की लगभग 250,000 पंक्तियाँ शामिल हैं।[9] हॉटस्पॉट प्रदान करता है:

  • एक जावा क्लास लोडर
  • एक टेम्प्लेटिंग जावा बाइटकोड इंटरप्रेटर (कंप्यूटिंग)
  • क्लाइंट और सर्वर जस्ट-इन टाइम कंपाइलर्स, उनके संबंधित उपयोगों के लिए अनुकूलित
  • कई कचरा संग्रह (कंप्यूटर विज्ञान) (बहुत कम-विराम-समय जेडजीसी और पॉज़लेस शेनानडोह सहित)[10][11]
  • सहायक रनटाइम पुस्तकालयों का एक सेट

जेवीएम झंडे

वर्चुअल मशीन निष्पादन के विकल्पों के लिए हॉटस्पॉट कई कमांड-लाइन तर्कों का समर्थन करता है। कुछ मानक हैं और किसी भी अनुरूप जावा वर्चुअल मशीन में पाए जाने चाहिए; अन्य हॉटस्पॉट के लिए विशिष्ट हैं और अन्य जेवीएम में नहीं मिल सकते हैं (विकल्प जो -X या -XX से शुरू होते हैं वे गैर-मानक हैं)।[12][13][14][15]


लाइसेंस

13 नवंबर 2006 को, हॉटस्पॉट जेवीएम और जावा विकास किट (जेडीके) को जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल) संस्करण 2 के तहत लाइसेंस दिया गया था।[16] यह वह कोड है जो जावा संस्करण इतिहास#Java SE 7 का हिस्सा बन गया।[17]


समर्थित प्लेटफॉर्म

=== Oracle === द्वारा अनुरक्षित संपूर्ण जावा डेवलपमेंट किट (JDK) की तरह, हॉटस्पॉट को Microsoft Windows, Linux, और macOS पर Oracle Corporation द्वारा समर्थित किया गया है। समर्थित निर्देश समुच्चय आर्किटेक्चर (ISAs) x86-64 और AArch64 हैं।[18] JDK 15 के बाद से Solaris (ऑपरेटिंग सिस्टम) और SPARC अब समर्थित नहीं हैं।[19]


तृतीय पक्षों द्वारा बंदरगाह

विभिन्न अन्य यूनिक्स ऑपरेटिंग सिस्टम के लिए पोर्ट तीसरे पक्ष द्वारा भी उपलब्ध हैं। कई अलग-अलग हार्डवेयर आर्किटेक्चर समर्थित हैं, जिनमें x86, PowerPC, और SPARC (Solaris केवल) शामिल हैं।

हॉटस्पॉट को पोर्ट करना कठिन है, क्योंकि इसका अधिकांश भाग असेम्बली भाषा में लगभग व्यापक रूप से लिखा गया है,[20] हालांकि इसके कई खंड विशुद्ध रूप से C++|मानकों के अनुरूप ISO C++ में भी लिखे गए हैं। इसका समाधान करने के लिए, IcedTea परियोजना ने हॉटस्पॉट इंटरप्रेटर (कंप्यूटिंग) का एक सामान्य पोर्ट विकसित किया है जिसे शून्य-असेंबलर हॉटस्पॉट (या शून्य) कहा जाता है, जिसमें लगभग कोई असेंबली कोड नहीं है। यह पोर्ट हॉटस्पॉट के दुभाषिया घटक के किसी भी लिनक्स प्रोसेसर आर्किटेक्चर के आसान अनुकूलन के लिए है। शून्य-असेंबलर हॉटस्पॉट का कोड 1.6 संस्करण के बाद से हॉटस्पॉट (पावरपीसी, इटेनियम (आइए-64), आईबीएम सिस्टम z9 9 और एआरएम वास्तुकला) के सभी गैर-x86 आर्किटेक्चर बंदरगाहों के लिए प्रयोग किया जाता है।[21][22][23]


यह भी देखें

संदर्भ

  1. 1.0 1.1 Cite error: Invalid <ref> tag; no text was provided for refs named HotSpot1.0PR
  2. Services, Chronicle Staff and News (1997-02-19). "SUN MICRO BUYS LONGVIEW". SFGATE (in English). Retrieved 2020-11-05.
  3. "Cliff Click on Azul's Pauseless GC, Zing, JVM Languages". InfoQ. 2011-01-20. Retrieved 2016-05-10. [...] Anamorphic was acquired by Sun so the original team was at a company called Anamorphic, they came in with a technology that was targeted at Smalltalk and they re-targeted it for Java and they hired me shortly afterwards to do a new JIT for their virtual machine.
  4. Lewis, J. P. (2004). "Performance of Java versus C++". Archived from the original on 2020-04-24. Retrieved 2007-10-03.
  5. Shankland, Stephen (18 February 1999). "HotSpot finally makes its mark". Cnet.
  6. "Sun Microsystems releases fastest client-side Java platform to date". Sun Microsystems. 2000-05-08. Retrieved 2007-10-03.
  7. "Java ™ HotSpot Virtual Machine Performance Enhancements". docs.oracle.com.
  8. "Java ™ HotSpot Virtual Machine Performance Enhancements". docs.oracle.com.
  9. "The HotSpot Group". Sun Microsystems. 2007. Retrieved 2007-10-03. There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code
  10. "Main - ZGC". OpenJDK Wiki.
  11. "HotSpot Virtual Machine Garbage Collection Tuning Guide (Java 14)". Oracle Help Center (in English).
  12. "Java HotSpot VM Options". Sun Microsystems. Retrieved 2009-02-08.
  13. Mocker, Joseph D. (2007-08-28). "A Collection of JVM Options". Archived from the original on 2011-04-30. Retrieved 2009-02-08.
  14. Maximovich, Dmitri. "The most complete list of -XX options for Java 6 JVM". Archived from the original on 2010-01-30. Retrieved 2009-02-08.
  15. Nutter, Charles (2009-01-29). "My Favorite Hotspot JVM Flags". Retrieved 2009-02-08.
  16. "Sun Open Sources Java Technology and Releases Source Code Under GPL Version Two License Via NetBeans and Java.net Communities". Sun Microsystems. 2006-11-13. Archived from the original on 2009-02-09. Retrieved 2017-05-06.
  17. JDK7, Sun.
  18. "Oracle JDK 17 Certified System Configurations". Oracle Corporation. Retrieved 2021-02-01.
  19. "JEP 381: Remove the Solaris and SPARC Ports". openjdk.java.net.
  20. Benson, Gary (2007-11-06). "Gary's guide to porting IcedTea". Archived from the original on 2012-07-12. Retrieved 2008-01-26.
  21. Benson, Gary (2008-02-01). "1st February 2008". Archived from the original on 2012-07-10. Retrieved 2008-02-03.
  22. Haley, Andrew (2008-01-31). "Making zero-assembler the default on ppc". Retrieved 2022-02-01.
  23. Angel, Lilian (2008-02-13). "IcedTea 1.6 Released with Zero-assembler and JNLP support!". Red Hat. Retrieved 2008-02-13.


बाहरी संबंध

Template:Oracle FOSS