मान लीजिए कि मैं एक ही मशीन पर एक साथ दो जावा प्रोग्राम चलाता हूं। क्या कार्यक्रम JVM के एक उदाहरण में चलेंगे या क्या वे JVM के दो अलग-अलग उदाहरणों में भाग लेंगे?साथ ही जावा प्रोग्राम को उसी जेवीएम पर चलाएं?
उत्तर
यह मंच और जेवीएम कार्यान्वयन पर निर्भर करता है, लेकिन आम तौर पर वे अलग-अलग वीएम में भाग लेते हैं।
मान लीजिए कि आप शब्द प्रोग्राम द्वारा प्रक्रियाओं का मतलब है, तो हाँ, दो प्रक्रियाओं को शुरू करने से, दो अलग-अलग JVMs बन जाएंगे।
जावा एप्लिकेशन लॉन्चर का उपयोग करके एक JVM प्रक्रिया शुरू की गई है; यह आपके कार्यक्रम में एक प्रविष्टि बिंदु प्रदान करना चाहिए, जो मुख्य विधि है। आप इस प्रविष्टि-बिंदु से और अन्य कक्षाओं से अन्य कक्षाओं से भी लिंक कर सकते हैं। यह एक ही JVM प्रक्रिया के भीतर तब तक जारी रहेगा, जब तक कि आप कोई अन्य प्रक्रिया शुरू नहीं करते (किसी अन्य प्रोग्राम को चलाने के लिए)।
क्या प्रोग्राम JVM के एक उदाहरण में चलेंगे या क्या वे JVM के दो अलग-अलग उदाहरणों में भाग लेंगे?
यह आपके ऊपर है। सरल जेवीएम का उपयोग करना सबसे आसान तरीका है।
आप क्या कर सकते हैं दो अलग धागे का उपयोग करें। exampe
new Thread() {
public void run() {
System.out.println("this is running separately from the main thread!");
}
}.start();
अगर आप चाहते हैं के लिए दो अलग-अलग कार्यक्रमों बातचीत करने के लिए आप सॉकेट
का उपयोग करने की आवश्यकता होगीjava
बस एक बार में खुला शुरू एक आवेदन है, लेकिन आप एक सरल लांचर उस वर्ग लेता लिख सकता है कर सकते हैं तर्क के रूप में नाम और उन्हें अलग धागे में निष्पादित करता है। एक त्वरित रूपरेखा:
public class Launcher {
public static void main(String[] args) throws Exception {
for (int i = 0; i<args.length; i++) {
final Class clazz = Class.forName(args[i]);
new Thread(new Runnable() {
@Override
public void run() {
try{
Method main = clazz.getMethod("main", String[].class);
main.invoke(null, new Object[]{});
} catch(Exception e) {
// improper exception handling - just to keep it simple
}
}
}).start();
}
}
}
यह कॉलिंग की तरह
java -cp <classpath for all applications!> Launcher com.example.App1 com.example.App2
ही वी एम के अंदर और समानांतर में आवेदन APP1 और App2 पर अमल करना चाहिए।
- 1. सर्वर पर जावा प्रोग्राम कैसे चलाएं?
- 2. जेवीएम पर स्कैला बाइटकोड कैसे चलाएं?
- 3. ओपनजेडीके जेवीएम ओरेकल जावा एसई जेवीएम जैसा ही है?
- 4. विंडोज 7 पर रूबी प्रोग्राम कैसे चलाएं?
- 5. ग्लासफ़िश 2.1 ईजेबी 3.0 उसी डोमेन/जेवीएम
- 6. जावा रोबोटियम एंड्रॉइड - दो अलग-अलग उपकरणों पर एक ही परीक्षण को एक साथ चलाएं
- 7. जावा प्रोग्राम को स्वतंत्र exe (JVM के बिना चलाएं)
- 8. जावा जेवीएम पर हाल की किताबें?
- 9. 64 बिट लिनक्स पर 32 बिट जेवीएम कैसे चलाएं?
- 10. क्या जेवीएम/जीसी कॉल 'थ्रेड /)' प्रोग्राम/थ्रेड निकास पर है?
- 11. ग्रहण से दो जावा प्रोग्राम एक बार में चलाएं?
- 12. जेवीएम और जावा लिनक्स प्रक्रिया
- 13. कोई प्रोग्राम के साथ सी प्रोग्राम में जेवीएम एम्बेड करने के लिए अनुशंसित तरीका?
- 14. जावा प्रोग्राम बेंचमार्किंग
- 15. वही प्रोग्राम, एक ही जेवीएम, लेकिन विभिन्न मशीनों पर काफी अलग मेमोरी आवश्यकताएं और निष्पादन समय - क्यों?
- 16. जावा प्रोग्राम को संकलित करें ... जावा प्रोग्राम
- 17. उसी टर्मिनल में एक साथ समानांतर एकाधिक कमांड चलाएं
- 18. उसी विधि पर दो श्रेणियां उसी विधि नाम के साथ
- 19. MONO के साथ तर्क के साथ प्रोग्राम कैसे चलाएं?
- 20. जावा कार्यान्वयन ... जेवीएम?
- 21. जावा दुभाषिया और जेवीएम
- 22. विभिन्न जेवीएम
- 23. रनटाइम पर जेवीएम ढेर आकार सेट करना
- 24. लिनक्स: एक ही यूएसबी डिवाइस को उसी ttyUSB संख्या
- 25. जावा धागे: क्या यह एक ही जेवीएम पर चल रहे एक अलग जावा प्रोग्राम से एक विशेष धागा को संभव/रोक/मार सकता है?
- 26. विभिन्न कॉन्फ़िगरेशन फ़ाइल के साथ निष्पादन योग्य प्रोग्राम कैसे चलाएं?
- 27. जावा के साथ ज़ीरोएमक्यू कैसे चलाएं?
- 28. जावा से बाहरी प्रोग्राम चलाएं, आउटपुट पढ़ें, बाधा
- 29. जेवीएम
- 30. विशिष्ट समय पर जावा थ्रेड चलाएं
वे डीएलएस, और यहां तक कि संकलित कक्षाएं भी लागू कर सकते हैं (कार्यान्वयन और कॉन्फ़िगरेशन के आधार पर)। –