जावा में जेवीएम बदलना


18

मैंने हाल ही में विकी पेज पर अलग JVM की खोज की और सोचा कि मैं छेड़छाड़ शुरू कर दूंगा। हालांकि, Ubuntu पर जावा को कॉन्फ़िगर करने के तरीके के बारे में प्रलेखन ढूंढना मुश्किल है।

कहते हैं कि मैं JRE या JDK को बदलना चाहता था जिसका मैं उपयोग कर रहा हूं, मैं एक टर्मिनल खोल सकता था और कह सकता था

sudo update-alternatives --config java

और फिर एक स्थापित संस्करण से चुनें।

अगर मैं जेवीएम के अधिकार को समझ रहा हूं (जो कि मैं बहुत अच्छी तरह से नहीं हो सकता), तो आप ओपन जेडीके को वैकल्पिक जेवीएम (जैसे जेएएमवीएम) का उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं और इसे इस तरह से चला सकते हैं

jamvm -jar foo.jar

2 प्रश्न,

1: क्या मेरे पास JVM की अवधारणा सही है? जैसा कि, क्या यह संभव है?

2: यदि ऐसा है तो मैं JVM को कैसे कॉन्फ़िगर करूं और डिफ़ॉल्ट को अपने चयन के JVM में बदलूं?


महान, अपने प्रश्न का एक अच्छा उत्तर जोड़ें (आप उन्हें स्वयं उत्तर दे सकते हैं) और कुछ वोट प्राप्त करें!
ब्रूनो परेरा

@BrunoPereira किया! उम्मीद है कि गुच्छा को कवर करता है।
16

जवाबों:


18

रनटाइम पर जावा के साथ छेड़छाड़ के संदर्भ के रूप में इसका उपयोग करने के लिए स्वतंत्र महसूस करें।

अपना JRE चुनना

अपने JRE को चुनने के लिए, का उपयोग करें

sudo update-alternatives --config java

यह निम्न आउटपुट जैसा कुछ देगा।

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      auto mode
* 1            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java             63        manual mode
  3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

फिर आप चयन के नंबर के माध्यम से जो जावा रनटाइम चाहते हैं उसका चयन कर सकते हैं।


अपना JVM चुनना

Sun / Oracle के पास दो JVM विकल्प हैं, -server और -client। यदि आप अपने जावा रनटाइम वातावरण के रूप में OpenJDK का चयन करते हैं तो आपके पास अतिरिक्त विकल्प हैं।

जब आप javaटर्मिनल में कोई अन्य मापदंडों के साथ टाइप करते हैं, तो मदद कई वैकल्पिक VMs को सूचीबद्ध करती है। मुझे यकीन नहीं है कि जो लोग OpenJDK के साथ आते हैं लेकिन 3 लोकप्रिय हैं JamVM, Zero और Cacao

इनका उपयोग करने के लिए, बस टाइप करें

java -jamvm 'your other parameters here'
java -cacao 'your other parameters here'
java -zero 'your other parameters here'
java -server 'your other parameters here

-Server VM सामान्य रूप से डिफ़ॉल्ट है। आप यह भी निर्दिष्ट कर सकते हैं -clientलेकिन 64-बिट IcedTea6 में यह -server के समान संस्करण को चलाने के लिए प्रकट होता है। दूसरों की सबसे अधिक संभावना है, लेकिन मुझे सबसे अधिक संवेदनशील होने के लिए डिफ़ॉल्ट विकल्प लगता है।


अपनी मेमोरी सेट करना

अंत में, जावा की मेमोरी कैसे सेट करें (सिर्फ इसलिए)

java -Xmx1024m -Xms128m 'your other parameters here'

यह जावा प्रोग्राम के लिए अनुमति दी गई मेमोरी को अधिकतम 1024 एमबी तक सीमित करता है, और इसकी प्रारंभिक मेमोरी का आकार 128 एमबी तक सेट करता है। यह न्यूनतम सिस्टम आवश्यकताओं को परिभाषित करने का एक शानदार तरीका है। जावा 6 आदमी पेज के लिए javaआदेश इन विकल्पों और अन्य लोगों का वर्णन है।

बस इतना ही। अगर किसी के पास उबंटू के लिए अतिरिक्त जावा ट्विक्स हैं तो उन्हें टिप्पणियों में छोड़ दें और मैं उन्हें जोड़ दूंगा।


$ JAVA_HOME / bin और $ JAVA_HOME / jre / bin में लगभग 47 निष्पादन योग्य फाइलें हैं जो वैकल्पिक प्रणाली में सभी प्रविष्टियों को अद्यतन करने के लिए एक स्क्रिप्ट के लिए रोता है। /Usr/lib/jvm/.java*.jinfo फाइलें देखें।
उपयोगकर्ता अज्ञात

मैं डिफ़ॉल्ट JVM कैसे सेट करूं? मैंने जो कुछ सुना है, उसमें से-लंबे समय तक स्टार्ट-अप का समय है, इसलिए उपयोगकर्ता स्थापना के लिए वैसे भी डिफ़ॉल्ट को -client क्यों नहीं है?
शाम

क्या वास्तव में चूक को बदलने का एक तरीका है, या क्या आपको हर बार (या प्रत्येक व्यक्तिगत स्टार्टअप स्क्रिप्ट में) जेवीएम और मेमोरी सीमा को स्पष्ट रूप से निर्धारित करना है?
ऐज

0

OpenJDK इंस्टॉलेशन के अंदर डिफ़ॉल्ट JVM सेट करने के लिए आपको / usr / lib / jvm / java- version -openjdk- arch / jre / lib / arch /jvm.cfg के अंदर स्थित jvm.cfg कॉन्फ़िगरेशन फ़ाइल को एडिट करना होगा।

Ubuntu OpenJDK संस्करण के आधार पर / etc / निर्देशिका के अंदर jvm.cfg फ़ाइल को उजागर करता है। / etc / जावा-6-openjdk / jvm- मेहराब .cfg या / etc / जावा-7-openjdk / jvm- मेहराब .cfg

Jvm.cfg फ़ाइल के अंदर सबसे ऊपर - jvmname KNOWN लाइन डिफ़ॉल्ट JVM निर्धारित करती है।

कोई कॉन्फ़िगरेशन उपकरण उपलब्ध नहीं है इस प्रकार आपको इन फ़ाइलों को मैन्युअल रूप से ढूंढना और संपादित करना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.