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

From Vigyanwiki
No edit summary
No edit summary
 
(28 intermediate revisions by 5 users not shown)
Line 5: Line 5:
| author = [[सन माइक्रोसिस्टम्स]]
| author = [[सन माइक्रोसिस्टम्स]]
| developer = [[ओरेकल कॉर्पोरेशन]]
| developer = [[ओरेकल कॉर्पोरेशन]]
| released = {{प्रारंभ तिथि और आयु|1999|04|27}}<रेफरी नाम=हॉटस्पॉट1.0पीआर>{{साइट वेब|टाइटल=सूर्य ने जावा हॉटस्पॉट प्रदर्शन इंजन की उपलब्धता की घोषणा की
| released = {{प्रारंभ तिथि और आयु|1999|04|27}}<ref name=HotSpot1.0PR>{{साइट वेब|टाइटल=सूर्य ने जावा हॉटस्पॉट प्रदर्शन इंजन की उपलब्धता की घोषणा की
|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>
|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-बी01
| latest release version = 23.25-बी01
| latest release date = {{प्रारंभ तिथि और उम्र|2016|01|01}}
| latest release date = {{प्रारंभ तिथि और उम्र|2016|01|01}}
| operating system = [[क्रॉस-प्लेटफ़ॉर्म]]
| operating system = [[क्रॉस-प्लेटफ़ॉर्म]]
| programming language = [[सी++]], [[विधानसभा भाषा |विधानसभा]]
| programming language = [[सी++]], [[असेंबली भाषा |असेंबली]]
| genre = [[जावा वर्चुअल मशीन]]
| genre = [[जावा वर्चुअल मशीन]]
| license = मालिकाना (प्रारंभिक संस्करण), [[जीएनयू जनरल पब्लिक लाइसेंस]] (वर्तमान)
| license = मालिकाना (प्रारंभिक संस्करण), [[जीएनयू जनरल पब्लिक लाइसेंस]] (वर्तमान)
Line 16: Line 16:
}}
}}


हॉटस्पॉट, जावा हॉटस्पॉट प्रदर्शन इंजन के रूप में जारी किया गया,<ref name=HotSpot1.0PR />[[डेस्कटॉप कंप्यूटर]] और [[सर्वर (कंप्यूटिंग)]] के लिए एक [[जावा वर्चुअल मशीन|जावा आभासी मशीन]] है, जिसे [[सन माइक्रोसिस्टम्स]] द्वारा विकसित किया गया है और अब [[Oracle Corporation|ओरेकल कारपोरेशन]] द्वारा इसका रखरखाव और वितरण किया जाता है। यह [[समय-समय पर संकलन]] और [[अनुकूली अनुकूलन]] जैसे तरीकों के माध्यम से बेहतर प्रदर्शन की सुविधा देता है।
'''हॉटस्पॉट (वर्चुअल मशीन)''', को '''जावा हॉटस्पॉट प्रदर्शन''' इंजन के रूप में जारी किया गया।<ref name=HotSpot1.0PR />[[डेस्कटॉप कंप्यूटर]] और [[सर्वर (कंप्यूटिंग)|सर्वर (कम्प्यूटर)]] के लिए [[जावा वर्चुअल मशीन]] है। जिसे [[सन माइक्रोसिस्टम्स]] द्वारा विकसित किया गया है और अब [[ओरेकल कॉर्पोरेशन|ओरेकल कारपोरेशन]] द्वारा इसका देखभाल और वितरण किया जाता है। यह [[समय-समय पर संकलन]] और [[अनुकूलन संकलक]] जैसे विधियों के माध्यम से उच्च प्रदर्शन की सुविधा प्रदान करता है।


== इतिहास ==
== इतिहास ==


जावा हॉटस्पॉट प्रदर्शन इंजन 27 अप्रैल, 1999 को जारी किया गया था।<ref name=HotSpot1.0PR />[[मजबूत बात]] नाम की प्रोग्रामिंग भाषा स्मॉलटाक के कार्यान्वयन से तकनीकों पर निर्मित, मूल रूप से लॉन्गव्यू टेक्नोलॉजीज द्वारा विकसित किया गया था, जो एनीमॉर्फिक के रूप में कारोबार करता था। लॉन्गव्यू आभासी मशीन [[स्वयं (प्रोग्रामिंग भाषा)]] आभासी मशीन पर आधारित थी, जिसमें फास्ट-एंड-डंब फर्स्ट कंपाइलर की जगह एक दुभाषिया था। जब सन ने सेल्फ प्रोजेक्ट को रद्द कर दिया, तो दो प्रमुख लोगों, उर्स होल्ज़ले और लार्स बाक (कंप्यूटर प्रोग्रामर) ने लॉन्गव्यू शुरू करने के लिए सन को छोड़ दिया। 1997 में, सन माइक्रोसिस्टम्स ने एनिमॉर्फिक को खरीद लिया।<ref>{{Cite web|last=Services|first=Chronicle Staff and News|date=1997-02-19|title=SUN MICRO BUYS LONGVIEW|url=https://www.sfgate.com/business/article/SUN-MICRO-BUYS-LONGVIEW-2854052.php|access-date=2020-11-05|website=SFGATE|language=en-US}}</ref>
जावा हॉटस्पॉट प्रदर्शन इंजन 27 अप्रैल, 1999 को जारी किया गया था।<ref name=HotSpot1.0PR /> [[गपशप|प्रसारण]] के कार्यान्वयन से [[मजबूत नियंत्रण|स्ट्रांग टॉक]] नाम की प्रोग्रामिंग भाषा प्रविधि पर निर्मित थी, मूल रूप से इसका लंबे समय की प्रौद्योगिकियों द्वारा विकसित किया गया था। जो एनीमॉर्फिक के रूप में व्यवसाय करता था। इस प्रकार लंबे समय से वर्चुअल मशीन [[स्वयं (प्रोग्रामिंग भाषा)]] वर्चुअल मशीन पर आधारित थी, तेज और मौन पहले संकलक की जगह एक दुभाषिया के साथ था। इस प्रकार जब सन ने स्वयं परियोजना को अस्वीकृत कर दिया, तो इस प्रकार दो प्रमुख लोगों उर्स होल्ज़ले और लार्स बाक कंप्यूटर प्रोग्रामर ने लंबे समय से प्रारंभ करने के लिए सन माइक्रोसिस्टम्स को छोड़ दिया। 1997 में सन माइक्रोसिस्टम्स ने एनिमॉर्फिक को खरीद लिया था।<ref>{{Cite web|last=Services|first=Chronicle Staff and News|date=1997-02-19|title=SUN MICRO BUYS LONGVIEW|url=https://www.sfgate.com/business/article/SUN-MICRO-BUYS-LONGVIEW-2854052.php|access-date=2020-11-05|website=SFGATE|language=en-US}}</ref> एनिमॉर्फिक प्राप्त करने के कुछ समय बाद सन ने जावा वर्चुअल मशीन के लिए नया सही समय पर संकलित किया गया है और सही समय पर (जेआईटी) संकलक लिखने का निर्णय किया हैं।<ref>{{cite web
एनिमॉर्फिक प्राप्त करने के कुछ समय बाद, सन ने जावा आभासी मशीन के लिए एक नया जस्ट-इन-टाइम संकलन | जस्ट-इन-टाइम (JIT) कंपाइलर लिखने का फैसला किया।<ref>{{cite web
| url=http://www.infoq.com/interviews/click-gc-azul
| url=http://www.infoq.com/interviews/click-gc-azul
| title=Cliff Click on Azul's Pauseless GC, Zing, JVM Languages
| title=Cliff Click on Azul's Pauseless GC, Zing, JVM Languages
Line 28: Line 27:
| access-date = 2016-05-10
| access-date = 2016-05-10
| quote = [...] 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.
| quote = [...] 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.
}}</ref> यह नया कंपाइलर सॉफ़्टवेयर के व्यवहार से प्राप्त हॉटस्पॉट नाम को जन्म देगा: चूंकि यह [[जावा बाइटकोड]] चलाता है, जैसा कि सेल्फ वीएम के साथ होता है, हॉटस्पॉट लगातार [[हॉट स्पॉट (कंप्यूटर प्रोग्रामिंग)]] के लिए प्रोग्राम के प्रदर्शन का विश्लेषण करता है जो अक्सर या बार-बार निष्पादित होते हैं। इसके बाद इन्हें ऑप्टिमाइज़ेशन (कंप्यूटर साइंस) के लिए लक्षित किया जाता है, जिससे कम प्रदर्शन-महत्वपूर्ण कोड के लिए न्यूनतम ओवरहेड के साथ उच्च-प्रदर्शन निष्पादन होता है। एक रिपोर्ट में, JVM ने कुछ बेंचमार्क में [[C++]] या C (प्रोग्रामिंग लैंग्वेज) कोड को पीछे छोड़ दिया।<ref>{{cite web
}}</ref> यह नया संकलक सॉफ़्टवेयर के व्यवहार से प्राप्त हॉटस्पॉट नाम को जन्म देगा। चूंकि, यह [[जावा बाइटकोड]] चलाता है, जैसा कि स्वयं वीएम के साथ होता है। हॉटस्पॉट लगातार [[हॉटस्पॉट गेटवे|हॉटस्पॉट (कंप्यूटर प्रोग्रामिंग)]] के लिए प्रोग्राम के प्रदर्शन का विश्लेषण करता है, जो अधिकांशतः बार-बार निष्पादित होते हैं। इसके पश्चात इन्हें अनुकूलन कंप्यूटर विज्ञान के लिए निहित किया जाता है, जिससे कम प्रदर्शन-महत्वपूर्ण संहिता के लिए न्यूनतम उपरिव्यय के साथ उच्च-प्रदर्शन निष्पादन होता है। इस प्रकार रिपोर्ट में, जेवीएम ने कुछ तल चिह्न में [[सी++]], [[सी प्रोग्रामिंग लैंग्वेज|सी प्रोग्रामिंग भाषा]] संहिता को पीछे छोड़ दिया था।<ref>{{cite web
| url=http://scribblethink.org/Computer/javaCbenchmark.html
| url=http://scribblethink.org/Computer/javaCbenchmark.html
| archive-url=https://web.archive.org/web/20200424183315/http://scribblethink.org/Computer/javaCbenchmark.html
| archive-url=https://web.archive.org/web/20200424183315/http://scribblethink.org/Computer/javaCbenchmark.html
Line 36: Line 35:
| last=Lewis|first=J. P.
| last=Lewis|first=J. P.
| year=2004
| year=2004
| access-date=2007-10-03}}</ref>
| access-date=2007-10-03}}</ref> इसके प्रारंभ में जावा 1.2 के लिए जोड़ें के रूप में उपलब्ध है,<ref name=Shank>{{cite news |last= Shankland |first= Stephen |title= HotSpot finally makes its mark |url= http://news.cnet.com/HotSpot-finally-makes-its-mark/2100-1001_3-221855.html |newspaper= [[Cnet]] |date=18 February 1999}}</ref> जावा 1.3 में हॉटस्पॉट व्यतिक्रम सन जेवीएम बन गया था।<ref>
प्रारंभ में जावा 1.2 के लिए ऐड-ऑन के रूप में उपलब्ध है,<ref name=Shank>{{cite news |last= Shankland |first= Stephen |title= HotSpot finally makes its mark |url= http://news.cnet.com/HotSpot-finally-makes-its-mark/2100-1001_3-221855.html |newspaper= [[Cnet]] |date=18 February 1999}}</ref> Java 1.3 में हॉटस्पॉट डिफ़ॉल्ट Sun JVM बन गया।<ref>
{{cite web
{{cite web
| url=http://www.sun.com/smi/Press/sunflash/2000-05/sunflash.20000508.3.xml
| url=http://www.sun.com/smi/Press/sunflash/2000-05/sunflash.20000508.3.xml
Line 46: Line 44:
}}
}}
</ref>
</ref>
== विशेषताएं ==
== विशेषताएं ==


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


टायर्ड संकलन, जावा 7 में पेश किया गया एक विकल्प, सर्वर कंपाइलर की तुलना में तेज़ स्टार्टअप समय प्रदान करने के लिए क्लाइंट और सर्वर कंपाइलर दोनों का उपयोग करता है, लेकिन समान या बेहतर चरम प्रदर्शन।<ref>{{cite web|url=http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html|title=Java ™ HotSpot Virtual Machine Performance Enhancements|website=docs.oracle.com}}</ref> जावा 8 में शुरू, स्तरित संकलन सर्वर वीएम के लिए डिफ़ॉल्ट है।<ref>{{cite web|url=https://docs.oracle.com/javase/8/docs/technotes/guides/vm/performance-enhancements-7.html|title=Java ™ HotSpot Virtual Machine Performance Enhancements|website=docs.oracle.com}}</ref>
स्तरित संकलन, जावा 7 में विकल्प प्रस्तुत किया गया। सर्वर संकलक की तुलना में तेज़ स्टार्टअप समय प्रदान करने के लिए ग्राहक और सर्वर संकलक दोनों का उपयोग करता है, किन्तु समान उच्च चरम प्रदर्शन<ref>{{cite web|url=http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html|title=Java ™ HotSpot Virtual Machine Performance Enhancements|website=docs.oracle.com}}</ref> जावा 8 में प्रारंभ स्तरित संकलन सर्वर वीएम के लिए व्यतिक्रम है।<ref>{{cite web|url=https://docs.oracle.com/javase/8/docs/technotes/guides/vm/performance-enhancements-7.html|title=Java ™ HotSpot Virtual Machine Performance Enhancements|website=docs.oracle.com}}</ref> इस प्रकार [[सी ++|हॉटस्पॉट सी ++]] और असेम्बली में लिखा गया है कि 2007 में, सन ने अनुमान लगाया, इसमें स्रोत संकेत की लगभग 250,000 पंक्तियाँ सम्मलित हैं,<ref>{{cite web
हॉटस्पॉट सी ++ और असेंबली में लिखा गया है। 2007 में, सन ने अनुमान लगाया कि इसमें स्रोत कोड की लगभग 250,000 पंक्तियाँ शामिल हैं।<ref>{{cite web
| url=http://openjdk.java.net/groups/hotspot/
| url=http://openjdk.java.net/groups/hotspot/
| title= The HotSpot Group
| title= The HotSpot Group
Line 59: Line 54:
| quote=There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code
| quote=There are nearly 1500 C/C++ header and source files, comprising almost 250,000 lines of code
| year=2007
| year=2007
| access-date=2007-10-03}}</ref> हॉटस्पॉट प्रदान करता है:
| access-date=2007-10-03}}</ref> जो हॉटस्पॉट प्रदान करता है।
* एक [[जावा क्लास लोडर]]
* [[जावा क्लास लाइब्रेरी|जावा कक्षा लोडर]]
* एक टेम्प्लेटिंग जावा बाइटकोड इंटरप्रेटर (कंप्यूटिंग)
* टेम्प्लेटिंग [[जावा बाइटकोड|जावा बाइटकोड दुभाषिया]] कम्प्यूटर
* क्लाइंट और सर्वर जस्ट-इन टाइम कंपाइलर्स, उनके संबंधित उपयोगों के लिए अनुकूलित
* ग्राहक और सर्वर सही समय पर संकलक, उनके संबंधित उपयोगों के लिए अनुकूलित है
* कई [[कचरा संग्रह (कंप्यूटर विज्ञान)]] (बहुत कम-विराम-समय जेडजीसी और पॉज़लेस शेनानडोह सहित)<ref>{{cite web |title=Main - ZGC |url=https://wiki.openjdk.java.net/display/zgc/Main |website=OpenJDK Wiki}}</ref><ref>{{cite web |title=HotSpot Virtual Machine Garbage Collection Tuning Guide (Java 14) |url=https://docs.oracle.com/en/java/javase/14/gctuning/index.html |website=Oracle Help Center |language=en-us}}</ref>
* कई [[कचरा संग्रह (कंप्यूटर विज्ञान)|गार्बेज संग्रह (कंप्यूटर विज्ञान)]] बहुत कम विराम समय जेडजीसी और विरामहीन शेनानडोह सहित<ref>{{cite web |title=Main - ZGC |url=https://wiki.openjdk.java.net/display/zgc/Main |website=OpenJDK Wiki}}</ref><ref>{{cite web |title=HotSpot Virtual Machine Garbage Collection Tuning Guide (Java 14) |url=https://docs.oracle.com/en/java/javase/14/gctuning/index.html |website=Oracle Help Center |language=en-us}}</ref>
* सहायक रनटाइम पुस्तकालयों का एक सेट
* क्रम पुस्तकालयों का समर्थन करने का संग्रह


=== जेवीएम झंडे ===
=== जेवीएम झंडे ===


आभासी मशीन निष्पादन के विकल्पों के लिए हॉटस्पॉट कई [[कमांड-लाइन तर्क]]ों का समर्थन करता है। कुछ मानक हैं और किसी भी अनुरूप जावा आभासी मशीन में पाए जाने चाहिए; अन्य हॉटस्पॉट के लिए विशिष्ट हैं और अन्य जेवीएम में नहीं मिल सकते हैं (विकल्प जो -X या -XX से शुरू होते हैं वे गैर-मानक हैं)।<ref>{{cite web
वर्चुअल मशीन निष्पादन के विकल्पों के लिए हॉटस्पॉट कई [[समादेश रेखा]] तर्कों का समर्थन करता है। कुछ मानक किसी भी अनुरूप जावा वर्चुअल मशीन में पाए जाने चाहिए , जो अन्य हॉटस्पॉट के लिए विशिष्ट हैं और अन्य जेवीएम में नहीं मिल सकते हैं , विकल्प जो -एक्स या -एक्सएक्स से प्रारंभ होते हैं वे -मानक हैं।<ref>{{cite web
  |url=http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
  |url=http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
  |title=Java HotSpot VM Options
  |title=Java HotSpot VM Options
Line 94: Line 89:
| date=2009-01-29
| date=2009-01-29
| access-date=2009-02-08}}</ref>
| access-date=2009-02-08}}</ref>
== लाइसेंस ==
== लाइसेंस ==
13 नवंबर 2006 को, हॉटस्पॉट जेवीएम और [[जावा विकास किट]] (जेडीके) को [[जीएनयू जनरल पब्लिक लाइसेंस]] (जीपीएल) संस्करण 2 के तहत लाइसेंस दिया गया था।<ref>{{cite web
13 नवंबर 2006 को, हॉटस्पॉट जेवीएम और [[जावा विकास किट|जावा विकास उपकरण]] (जेडीके) को [[जीएनयू जनरल पब्लिक लाइसेंस|जीएनयू सामान्य पब्लिक लाइसेंस]] (जीपीएल) संस्करण 2 के अनुसार लाइसेंस दिया गया था।<ref>{{cite web
  |url=http://www.sun.com/aboutsun/media/presskits/2006-1113/
  |url=http://www.sun.com/aboutsun/media/presskits/2006-1113/
  |title=Sun Open Sources Java Technology and Releases Source Code Under GPL Version Two License Via NetBeans and Java.net Communities
  |title=Sun Open Sources Java Technology and Releases Source Code Under GPL Version Two License Via NetBeans and Java.net Communities
Line 106: Line 99:
  |access-date=2017-05-06
  |access-date=2017-05-06
  |url-status=dead
  |url-status=dead
}}</ref> यह वह कोड है जो जावा संस्करण इतिहास#Java SE 7 का हिस्सा बन गया।<ref name = "JDK7">[http://jdk7.java.net/ JDK7], Sun.</ref>
}}</ref> यह वह संहिता है जो जावा संस्करण इतिहास जावा एसई 7 का भाग बन गया हैं।<ref name = "JDK7">[http://jdk7.java.net/ JDK7], Sun.</ref>
 
 
== समर्थित प्लेटफॉर्म ==
== समर्थित प्लेटफॉर्म ==


=== ओरेकल === द्वारा अनुरक्षित
ओरेकल द्वारा अनुरक्षित संपूर्ण जावा विकास उपकरण समूह जेडीके की भांति हॉटस्पॉट को [[Microsoft Windows|माइक्रोसॉफ़्ट विंडोज़]], [[Linux|लिनक्स]], और [[macOS|मैक ओएस]] पर ओरेकल कारपोरेशन द्वारा समर्थित किया गया है। समर्थित [[निर्देश समुच्चय]] वास्तुकला संग्रह करें आईएसएएस [[x86-64|एक्स86-64]] और [[AArch64|आर्च 64]] हैं।<ref>{{cite web| url=https://www.oracle.com/java/technologies/javase/products-doc-jdk17certconfig.html| title=Oracle JDK 17 Certified System Configurations| publisher=[[Oracle Corporation]]| access-date=2021-02-01}}</ref> इस प्रकार जेडीके 15 के बाद से सोलारिस प्रचालन तंत्र और [[SPARC|एसपीएआरके]] अब समर्थित नहीं हैं।<ref>{{cite web|url=https://openjdk.java.net/jeps/381|title=JEP 381: Remove the Solaris and SPARC Ports|website=openjdk.java.net}}</ref>
संपूर्ण जावा डेवलपमेंट किट (JDK) की तरह, हॉटस्पॉट को [[Microsoft Windows]], [[Linux]], और [[macOS]] पर ओरेकल कारपोरेशन द्वारा समर्थित किया गया है। समर्थित [[निर्देश समुच्चय]] आर्किटेक्चर (ISAs) [[x86-64]] और [[AArch64]] हैं।<ref>{{cite web| url=https://www.oracle.com/java/technologies/javase/products-doc-jdk17certconfig.html| title=Oracle JDK 17 Certified System Configurations| publisher=[[Oracle Corporation]]| access-date=2021-02-01}}</ref> JDK 15 के बाद से Solaris (ऑपरेटिंग सिस्टम) और [[SPARC]] अब समर्थित नहीं हैं।<ref>{{cite web|url=https://openjdk.java.net/jeps/381|title=JEP 381: Remove the Solaris and SPARC Ports|website=openjdk.java.net}}</ref>
===तृतीय पक्षों द्वारा पोर्ट् ===
विभिन्न अन्य [[यूनिक्स]] [[ऑपरेटिंग सिस्टम|प्रचालन तंत्र]] के लिए पोर्ट् तीसरे पक्ष द्वारा भी उपलब्ध हैं। इस प्रकार कई अलग-अलग हार्डवेयर वास्तु-कला समर्थित हैं, जिनमें एक्स86, [[PowerPC|पावरपीसी]], और एसपीएआरके सोलारिस केवल सम्मलित हैं।


 
हॉटस्पॉट को पोर्ट् करना कठिन है, क्योंकि इसका अधिकांश भाग असेम्बली भाषा में लगभग व्यापक रूप से लिखा गया है।<ref>{{cite web
===तृतीय पक्षों द्वारा बंदरगाह ===
विभिन्न अन्य [[यूनिक्स]] [[ऑपरेटिंग सिस्टम]] के लिए पोर्ट तीसरे पक्ष द्वारा भी उपलब्ध हैं। कई अलग-अलग हार्डवेयर आर्किटेक्चर समर्थित हैं, जिनमें x86, [[PowerPC]], और SPARC (Solaris केवल) शामिल हैं।
 
हॉटस्पॉट को पोर्ट करना कठिन है, क्योंकि इसका अधिकांश भाग असेम्बली भाषा में लगभग व्यापक रूप से लिखा गया है,<ref>{{cite web
  |url=http://gbenson.livejournal.com/2007/11/16/
  |url=http://gbenson.livejournal.com/2007/11/16/
  |archive-url=https://archive.today/20120712034818/http://gbenson.livejournal.com/2007/11/16/
  |archive-url=https://archive.today/20120712034818/http://gbenson.livejournal.com/2007/11/16/
Line 128: Line 116:
  |date=2007-11-06
  |date=2007-11-06
  |access-date=2008-01-26
  |access-date=2008-01-26
}}</ref> हालांकि इसके कई खंड विशुद्ध रूप से C++|मानकों के अनुरूप ISO C++ में भी लिखे गए हैं। इसका समाधान करने के लिए, [[IcedTea]] परियोजना ने हॉटस्पॉट इंटरप्रेटर (कंप्यूटिंग) का एक सामान्य पोर्ट विकसित किया है जिसे शून्य-असेंबलर हॉटस्पॉट (या शून्य) कहा जाता है, जिसमें लगभग कोई असेंबली कोड नहीं है। यह पोर्ट हॉटस्पॉट के दुभाषिया घटक के किसी भी लिनक्स प्रोसेसर आर्किटेक्चर के आसान अनुकूलन के लिए है। शून्य-असेंबलर हॉटस्पॉट का कोड 1.6 संस्करण के बाद से हॉटस्पॉट (पावरपीसी, [[इटेनियम]] ([[आइए-64]]), [[आईबीएम सिस्टम z9]] 9 और [[एआरएम वास्तुकला]]) के सभी गैर-x[[86]] आर्किटेक्चर बंदरगाहों के लिए प्रयोग किया जाता है।<ref>{{cite web
}}</ref> चूंकि, इसके कई खंड विशुद्ध रूप से सी++ के मानकों के अनुरूप आईएसओ सी++ में भी लिखे गए हैं। इस प्रकार इसका समाधान करने के लिए, [[IcedTea|आइस्ड टी]] परियोजना ने हॉटस्पॉट दुभाषिया कम्प्यूटर का सामान्य पोर्ट् विकसित किया है, जिसे शून्य-कोडांतरक हॉटस्पॉट शून्य कहा जाता है, जिसमें लगभग कोई असेम्बली संहिता नहीं है। यह पोर्ट् हॉटस्पॉट के दुभाषिया घटक के किसी भी लिनक्स प्रक्रमक वास्तु-कला के आसान अनुकूलन के लिए है। इस प्रकार शून्य-कोडांतरक हॉटस्पॉट का संहिता 1.6 संस्करण के बाद से हॉटस्पॉट पावरपीसी, [[इटेनियम]] ([[आइए-64]]), [[आईबीएम सिस्टम z9|आईबीएम सिस्टम जेड9]] और [[एआरएम वास्तुकला]] के सभी -एक्स[[86]] वास्तु-कला पोर्ट्स के लिए प्रयोग किया जाता है।<ref>{{cite web
  |url=http://gbenson.livejournal.com/2008/02/01/
  |url=http://gbenson.livejournal.com/2008/02/01/
  |archive-url=https://archive.today/20120710145652/http://gbenson.livejournal.com/2008/02/01/
  |archive-url=https://archive.today/20120710145652/http://gbenson.livejournal.com/2008/02/01/
Line 151: Line 139:
| access-date=2008-02-13
| access-date=2008-02-13
}}</ref>
}}</ref>
== यह भी देखें ==
== यह भी देखें ==
{{Portal|Free and open-source software|Computer programming}}
{{Portal|Free and open-source software|Computer programming}}
* [[जावा वर्चुअल मशीनों की सूची|जावा आभासी मशीनों की सूची]]
* [[जावा वर्चुअल मशीनों की सूची]]
* [[जावा वर्चुअल मशीनों की तुलना|जावा आभासी मशीनों की तुलना]]
* [[जावा वर्चुअल मशीनों की तुलना]]
* [[जावा प्रदर्शन]]
* [[जावा प्रदर्शन]]
* [[ओपनजेडीके]]
* [[ओपनजेडीके]]
* [[दा विंची मशीन]], [[गतिशील प्रोग्रामिंग भाषा]]ओं के लिए समर्थन जोड़ने के लिए जेवीएम के विस्तार को प्रोटोटाइप करने की परियोजना
* [[दा विंची मशीन]], [[गतिशील प्रोग्रामिंग भाषा]]ओं के लिए समर्थन जोड़ने के लिए जेवीएम के विस्तार को आद्यरूप करने की परियोजना।


==संदर्भ==
==संदर्भ==
Line 168: Line 154:
* {{Official website|openjdk.java.net/groups/hotspot}}
* {{Official website|openjdk.java.net/groups/hotspot}}
* [http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html A list of हॉटस्पॉट VMOptions]
* [http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html A list of हॉटस्पॉट VMOptions]
* [http://java.sun.com/docs/books/vmspec/ The Java Virtual Machine Specification]
* [http://java.sun.com/docs/books/vmspec/ The जावा Virtual Machine Specification]
* [http://strongtalk.org/history.html History of the original Strongtalk-हॉटस्पॉट team]
* [http://strongtalk.org/history.html History of the original स्ट्रांग टॉक -हॉटस्पॉट team]
* {{Cite web |url=http://www.sun.com/smi/Press/sunflash/1999-04/sunflash.990427.6.xml |title=Sun announces availability of the Java Hotspot Performance Engine |access-date=March 27, 2014 |archive-url=https://web.archive.org/web/20061218025401/http://www.sun.com/smi/Press/sunflash/1999-04/sunflash.990427.6.xml |archive-date=December 18, 2006 |url-status=bot: unknown |df=mdy-all }}
* {{Cite web |url=http://www.sun.com/smi/Press/sunflash/1999-04/sunflash.990427.6.xml |title=Sun announces availability of the Java Hotspot Performance Engine |access-date=March 27, 2014 |archive-url=https://web.archive.org/web/20061218025401/http://www.sun.com/smi/Press/sunflash/1999-04/sunflash.990427.6.xml |archive-date=December 18, 2006 |url-status=bot: unknown |df=mdy-all }}
* [http://hg.openjdk.java.net/jdk8u/hs-dev/hotspot हॉटस्पॉट Mercurial source code development repository (version control system) for JDK8]
* [http://hg.openjdk.java.net/jdk8u/hs-dev/hotspot हॉटस्पॉट Mercurial source code development repository (version control system) for जेडीके8]
 
{{Java Virtual Machine}}
{{Oracle FOSS}}
 
{{DEFAULTSORT:Hotspot}}[[Category: विधानसभा भाषा सॉफ्टवेयर]] [[Category: C++ में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]] [[Category: जावा वर्चुअल मशीन]] [[Category: ओरेकल सॉफ्टवेयर]] [[Category: सन माइक्रोसिस्टम्स सॉफ्टवेयर]]
 


{{DEFAULTSORT:Hotspot}}


[[Category: Machine Translated Page]]
[[Category:C++ में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया|Hotspot]]
[[Category:Created On 17/02/2023]]
[[Category:CS1 English-language sources (en)]]
[[Category:CS1 maint|Hotspot]]
[[Category:Created On 17/02/2023|Hotspot]]
[[Category:Machine Translated Page|Hotspot]]
[[Category:Official website not in Wikidata|Hotspot]]
[[Category:Pages with empty portal template|Hotspot]]
[[Category:Pages with reference errors|Hotspot]]
[[Category:Pages with script errors|Hotspot]]
[[Category:Portal templates with redlinked portals|Hotspot]]
[[Category:Templates Vigyan Ready|Hotspot]]

Latest revision as of 09:31, 14 March 2023

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

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

इतिहास

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

विशेषताएं

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

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

जेवीएम झंडे

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

लाइसेंस

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

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

ओरेकल द्वारा अनुरक्षित संपूर्ण जावा विकास उपकरण समूह जेडीके की भांति हॉटस्पॉट को माइक्रोसॉफ़्ट विंडोज़, लिनक्स, और मैक ओएस पर ओरेकल कारपोरेशन द्वारा समर्थित किया गया है। समर्थित निर्देश समुच्चय वास्तुकला संग्रह करें आईएसएएस एक्स86-64 और आर्च 64 हैं।[18] इस प्रकार जेडीके 15 के बाद से सोलारिस प्रचालन तंत्र और एसपीएआरके अब समर्थित नहीं हैं।[19]

तृतीय पक्षों द्वारा पोर्ट्

विभिन्न अन्य यूनिक्स प्रचालन तंत्र के लिए पोर्ट् तीसरे पक्ष द्वारा भी उपलब्ध हैं। इस प्रकार कई अलग-अलग हार्डवेयर वास्तु-कला समर्थित हैं, जिनमें एक्स86, पावरपीसी, और एसपीएआरके सोलारिस केवल सम्मलित हैं।

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Template:साइट वेब
  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.


बाहरी संबंध