वहाँ कुछ उपकरण हैं ( एक्सेलसियर जेईटी , आदि) जो जावा ऐप को मूल निष्पादन योग्य ( *.exe
) में बदलने का दावा करते हैं । हालांकि यह मेरी समझ है कि ये उपकरण वास्तव में केवल देशी आवरण बना रहे हैं java
जो शेल या कमांड-लाइन से आह्वान / निष्पादित करते हैं ।
यदि वह समझ गलत है, तो मैं नहीं देखता कि यह कैसे हो सकता है। यदि रनिंग जेवीएम ( java
प्रक्रिया) अनिवार्य रूप से एक उच्च प्रदर्शन दुभाषिया है, तो फ्लाई पर जावा क्लासफाइल्स से बाइटकोड लोड कर रहा है, तो मैं नहीं देखता कि एक जावा ऐप (एक जेवीएम के लिए इनपुट के रूप में सेवा करने वाली बाइटकोड फ़ाइलों का संग्रह कभी भी हो सकता है) वास्तव में एक निष्पादन योग्य में परिवर्तित।
ऐसा इसलिए है क्योंकि जेवीएम प्रक्रिया पहले से ही एक मूल निष्पादन योग्य है जो इनपुट के रूप में बायटेकोड फाइलों का सेट लेता है। उन बाइटकोड फ़ाइलों और जेवीएम प्रक्रिया को एक एकल में विलय करने के लिए, एकीकृत देशी निष्पादन योग्य जेवीएम विनिर्देश से पूरी तरह से जेवीएम और डी-रेलिंग को फिर से लिखना बिना संभव नहीं है।
इसलिए मैं पूछता हूं: ये उपकरण वास्तव में जावा क्लास की फाइलों को मूल निष्पादन योग्य कैसे बनाते हैं, या वे करते हैं?