2011-12-03 13 views
14

के लिए न्यूनतम जेआरई संस्करण और सिस्टम आवश्यकताएं कैसे निर्धारित करें मैंने ग्रहण आईडीई का उपयोग कर जावा में एक एप्लिकेशन लिखा है और अब मुझे एप्लिकेशन चलाने के लिए आवश्यक न्यूनतम जेआरई संस्करण जानने की आवश्यकता है! मुझे पता है कि कुछ विधियां केवल बाद में जेआरई के तहत उपलब्ध हैं, लेकिन मैं सोच रहा था कि मेरे आवेदन की उच्चतम आवश्यकता का पता लगाने का सबसे आसान तरीका क्या होगा, इसलिए किसी भी सुझाव की सराहना की जाएगी ...मेरे जावा एप्लिकेशन

जब भी मैं चालू हूं आवश्यकताओं का विषय है, मैं किसी भी सलाह या सामान्य रूप में अपने सॉफ़्टवेयर के लिए न्यूनतम सिस्टम आवश्यकताओं को निर्धारित करने के लिए तरीके की सराहना करेंगे - यानी राम की न्यूनतम राशि ...

अग्रिम धन्यवाद

+3

आप जानते हैं कि इंजीनियर कैसे पता लगाते हैं कि पुल कितना वजन रख सकता है? जब तक यह गिरने तक वे तेजी से भारी ट्रक चलाते हैं, तो वे इसे पुनर्निर्माण करते हैं। इसे विपरीत में करें ... अपने ऐप को जेडीके 7 के साथ संकलित करना शुरू करें और पहले जेडीके का उपयोग तब तक करें जब तक यह संकलित नहीं होगा। स्मृति के साथ ही ... टूटने तक कम और कम उपयोग करें। हां, अर्द्ध जीभ-इन-गाल :) – Paul

+2

अकेले संकलन पर्याप्त नहीं है - मैंने लगभग वह जवाब भी दिया है। चूंकि जेडीके/जेआरई के पिछले संस्करणों में ऐसी बग शामिल हो सकती हैं जो आपके द्वारा अधिकांश समय उपयोग किए जाने वाले संस्करण में नहीं हैं, बस संकलन सही प्रोग्राम निष्पादन की गारंटी नहीं देता है। आपको वास्तव में इसकी आवश्यकता है (1) संकलित करें और (2) अपने पूरे टेस्ट सूट को दिए गए जेआरई के खिलाफ पास करें। यदि आपके पास टेस्ट सूट नहीं है, तो जेआरई के पुराने संस्करणों का समर्थन करना अधिक जटिल होगा। – jefflunt

+0

@ पॉल मुझे संदेह है कि मुझे किसी से उन पंक्तियों के साथ एक उत्तर प्राप्त होगा, और मुझे लगता है कि एक अच्छा कारण है; ऐसा लगता है कि इन आवश्यकताओं की गणना करने का कोई आसान तरीका नहीं है। आपके उत्तर पॉल के लिए धन्यवाद, लेकिन कृपया सामान्यता के उत्तर पर मेरी टिप्पणियां देखें, जो मुझे लगता है कि एक अच्छा मुद्दा है और मैं मानता हूं कि मुझे पुराने जेआरई – Andy

उत्तर

7
  • विधि 1: न्यूनतम जेआरई संस्करण के लिए, यह कठिन होगा। सबसे आसान तरीका यह है कि आपको उसी संस्करण की आवश्यकता होती है जिसे आप बना रहे हैं, या बाद में, उदा। जेआरई 6.x.x या उच्चतर।
  • विधि 2: कई जेडीके स्थापित करें, उन्हें ग्रहण में उपलब्ध कराएं, और केवल उस संस्करण को बदलें जिसे आप बना रहे हैं, हर बार अपने ऐप के परीक्षण सूट को चलाते हुए, और यह सुनिश्चित कर लें कि वे सभी पास हो जाएं। जेडीके का सबसे पुराना संस्करण जो आपके सभी परीक्षणों को पास करने की इजाजत देता है वह सबसे कम जेआरई है जिसके खिलाफ यह दौड़ सकता है। बस आपके ऐप को सफलतापूर्वक संकलित करना पर्याप्त नहीं है, क्योंकि जेआरई/जेडीके के पिछले संस्करणों में बग्स हो सकते हैं जो सफल संकलन के लिए अनुमति देते हैं, लेकिन उचित प्रोग्राम निष्पादन की अनुमति नहीं देते हैं।
  • विधि 3: हमेशा क्लाइंट पक्ष पर नवीनतम की आवश्यकता होती है, क्योंकि ओरेकल लगातार सुरक्षा छेद को पैच कर रहा है, और आखिरकार, नवीनतम संस्करणों की आवश्यकता हो सकती है, यदि आपके पास उस तरह का नियंत्रण है, तो ग्राहक पक्ष पर ।

जहां तक ​​रैम, यह आसान है। जब JVM शुरू होता है तो यह 'अधिकतम' राशि रैम सेट करता है (मुझे विश्वास है कि डिफ़ॉल्ट 128MB हो सकता है), और यह एक कठिन सीमा है कि आपका एप्लिकेशन क्रैश किए बिना पार नहीं हो सकता है। समय के साथ अपने ऐप को प्रोफाइल करें, जेवीएम पर मेमोरी सेटिंग्स को ट्वीक करें, और पता लगाएं कि न्यूनतम मात्रा में रैम यह है कि आपको अपने ऐप के लिए स्वीकार्य प्रदर्शन के साथ दोनों (ए) चलाने की आवश्यकता होगी, और (बी) OutOfMemoryError फेंकने के बिना , और आपने कल लिया।

रेफरी:। How to configure JVM options and memory?

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

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

आप प्रोग्राम क्रैश और बग्स के लिए एक ही काम कर सकते हैं - स्टैक निशान, सिस्टम जानकारी, और अन्य प्रासंगिक डेटा जो आपको वापस भेजे गए लॉग फ़ाइल में डाले गए हैं - लेकिन बेशक, केवल तभी आपके उपयोगकर्ताओं के पास है ने कहा कि यह डेटा आपको वापस भेजने के लिए ठीक है।

+0

के उपयोग को हतोत्साहित करना चाहिए, हालांकि आपके उत्तर सामान्यता के लिए धन्यवाद, हालांकि मैं नहीं हूं निश्चित रूप से राम के बारे में आपका क्या मतलब है। क्या आपका मतलब है कि मुझे जेआरई के लिए न्यूनतम आवश्यकता के रूप में रैम के लिए न्यूनतम आवश्यकता डालना चाहिए - वास्तव में, सिद्धांत में जो हर आवश्यकता के लिए समान होना चाहिए !? जेआरई के लिए, मुझे लगता है कि मैं जेआरई 6 के साथ रहूंगा, लेकिन हमेशा नवीनतम संस्करण की अनुशंसा करता हूं।] – Andy

+0

हां, मुझे लगता है कि आपको राम प्रश्न पता चला है। जब आप JVM प्रारंभ करते हैं, तो आप निर्दिष्ट कर सकते हैं, "अरे, 32 एमबी से अधिक RAM न लें," या किसी भी मनमानी राशि को आप पसंद करते हैं। तो, अलग-अलग न्यूनतम मानों के साथ अपने ऐप को कई बार चलाएं (मैंने JVM मेमोरी सेटिंग्स को सेट करने के लिए एक लिंक प्रदान किया है), और सबसे छोटा मान जो आपके ऐप को स्वीकार्य प्रदर्शन के साथ चलाने की अनुमति देता है, और (2) देय नहीं है स्मृति से बाहर निकलने के लिए, आपकी न्यूनतम रैम आवश्यकता बन जाती है। – jefflunt

+0

इसके लिए धन्यवाद, एक दिलचस्प और सूचनात्मक अंतर्दृष्टि। मुझे लगता है कि मैंने निष्कर्ष निकाला है कि न्यूनतम जेआरई संस्करण 128 एमबी की न्यूनतम रैम आवश्यकता के साथ जेआरई 6 होगा, हालांकि यह जावा को स्थापित करने के लिए आवश्यक है, और मुझे विश्वास है कि जावा विंडोज 200 और ऊपर की ओर चलाएगा! यदि जावा को किसी भी तरह से स्थापित करने की आवश्यकता है, तो मुझे अपने आवेदन पर उन आवश्यकताओं की जांच करने में बहुत अधिक बिंदु नहीं दिख रहा है, खासकर क्योंकि मेरे पास उपयुक्त परीक्षण सुविधाएं नहीं हैं। – Andy

संबंधित मुद्दे