- विधि 1: न्यूनतम जेआरई संस्करण के लिए, यह कठिन होगा। सबसे आसान तरीका यह है कि आपको उसी संस्करण की आवश्यकता होती है जिसे आप बना रहे हैं, या बाद में, उदा। जेआरई 6.x.x या उच्चतर।
- विधि 2: कई जेडीके स्थापित करें, उन्हें ग्रहण में उपलब्ध कराएं, और केवल उस संस्करण को बदलें जिसे आप बना रहे हैं, हर बार अपने ऐप के परीक्षण सूट को चलाते हुए, और यह सुनिश्चित कर लें कि वे सभी पास हो जाएं। जेडीके का सबसे पुराना संस्करण जो आपके सभी परीक्षणों को पास करने की इजाजत देता है वह सबसे कम जेआरई है जिसके खिलाफ यह दौड़ सकता है। बस आपके ऐप को सफलतापूर्वक संकलित करना पर्याप्त नहीं है, क्योंकि जेआरई/जेडीके के पिछले संस्करणों में बग्स हो सकते हैं जो सफल संकलन के लिए अनुमति देते हैं, लेकिन उचित प्रोग्राम निष्पादन की अनुमति नहीं देते हैं।
- विधि 3: हमेशा क्लाइंट पक्ष पर नवीनतम की आवश्यकता होती है, क्योंकि ओरेकल लगातार सुरक्षा छेद को पैच कर रहा है, और आखिरकार, नवीनतम संस्करणों की आवश्यकता हो सकती है, यदि आपके पास उस तरह का नियंत्रण है, तो ग्राहक पक्ष पर ।
जहां तक रैम, यह आसान है। जब JVM शुरू होता है तो यह 'अधिकतम' राशि रैम सेट करता है (मुझे विश्वास है कि डिफ़ॉल्ट 128MB हो सकता है), और यह एक कठिन सीमा है कि आपका एप्लिकेशन क्रैश किए बिना पार नहीं हो सकता है। समय के साथ अपने ऐप को प्रोफाइल करें, जेवीएम पर मेमोरी सेटिंग्स को ट्वीक करें, और पता लगाएं कि न्यूनतम मात्रा में रैम यह है कि आपको अपने ऐप के लिए स्वीकार्य प्रदर्शन के साथ दोनों (ए) चलाने की आवश्यकता होगी, और (बी) OutOfMemoryError फेंकने के बिना , और आपने कल लिया।
रेफरी:। How to configure JVM options and memory?
ऐसे सीपीयू अनुरोध के रूप में अन्य आवश्यकताओं के लिए, चीजों को एक छोटे से fuzzier मिलता है। वहाँ बहुत सारे सीपीयू हैं, और थ्रूपुट जो किसी दिए गए सिस्टम का उत्पादन करता है, केवल सीपीयू की गति के आधार पर भिन्न नहीं हो सकता है, लेकिन हार्ड ड्राइव की गति, सिस्टम में स्थापित रैम की मात्रा, नेटवर्क इंटरफ़ेस की गति (यदि आप एक नेटवर्क ऐप लिख रहे हैं), और अन्य चीजें। इस तरह की आवश्यकताओं के लिए, आप इसे विभिन्न प्रणालियों पर जांचना चाहेंगे और किसी रेखा को कहीं भी खींचना चाहते हैं, और कहें, "यदि आपके पास हार्डवेयर है जो कम से कम एक्स, वाई के रूप में शक्तिशाली है तो आप स्वीकार्य प्रदर्शन की उम्मीद कर सकते हैं। , जेड "।
दूसरी चीज जो आप कर सकते हैं वह बेंचमार्क, या किसी प्रकार का प्रदर्शन लॉगिंग में बना है, और उस प्रदर्शन डेटा को आपको वापस भेज दिया गया है। बहुत सारे ऐप्स ऐसा करते हैं। आप जानते हैं कि "क्या हम मातृत्व के लिए अनाम उपयोग डेटा वापस भेज सकते हैं?" कुछ सॉफ़्टवेयर इंस्टॉल करते समय आपको प्रश्न मिलता है? खैर, उस डेटा के बीच आम तौर पर प्रदर्शन-लॉगिंग डेटा के साथ-साथ रैम, सीपीयू, हार्ड ड्राइव मॉडल और अन्य हार्डवेयर विवरण (जो भी डेटा आप निर्धारित करते हैं) आपके सिस्टम के विशिष्ट विवरण हैं। इस तरह के दृष्टिकोण को लेकर, आपको जो कुछ मिलता है वह कई अलग-अलग सिस्टम कॉन्फ़िगरेशन से बहुत अधिक प्रदर्शन डेटा है, जिसमें बिना किसी कॉन्फ़िगर किए गए मशीनों की बड़ी संख्या की आवश्यकता होती है।
आप प्रोग्राम क्रैश और बग्स के लिए एक ही काम कर सकते हैं - स्टैक निशान, सिस्टम जानकारी, और अन्य प्रासंगिक डेटा जो आपको वापस भेजे गए लॉग फ़ाइल में डाले गए हैं - लेकिन बेशक, केवल तभी आपके उपयोगकर्ताओं के पास है ने कहा कि यह डेटा आपको वापस भेजने के लिए ठीक है।
आप जानते हैं कि इंजीनियर कैसे पता लगाते हैं कि पुल कितना वजन रख सकता है? जब तक यह गिरने तक वे तेजी से भारी ट्रक चलाते हैं, तो वे इसे पुनर्निर्माण करते हैं। इसे विपरीत में करें ... अपने ऐप को जेडीके 7 के साथ संकलित करना शुरू करें और पहले जेडीके का उपयोग तब तक करें जब तक यह संकलित नहीं होगा। स्मृति के साथ ही ... टूटने तक कम और कम उपयोग करें। हां, अर्द्ध जीभ-इन-गाल :) – Paul
अकेले संकलन पर्याप्त नहीं है - मैंने लगभग वह जवाब भी दिया है। चूंकि जेडीके/जेआरई के पिछले संस्करणों में ऐसी बग शामिल हो सकती हैं जो आपके द्वारा अधिकांश समय उपयोग किए जाने वाले संस्करण में नहीं हैं, बस संकलन सही प्रोग्राम निष्पादन की गारंटी नहीं देता है। आपको वास्तव में इसकी आवश्यकता है (1) संकलित करें और (2) अपने पूरे टेस्ट सूट को दिए गए जेआरई के खिलाफ पास करें। यदि आपके पास टेस्ट सूट नहीं है, तो जेआरई के पुराने संस्करणों का समर्थन करना अधिक जटिल होगा। – jefflunt
@ पॉल मुझे संदेह है कि मुझे किसी से उन पंक्तियों के साथ एक उत्तर प्राप्त होगा, और मुझे लगता है कि एक अच्छा कारण है; ऐसा लगता है कि इन आवश्यकताओं की गणना करने का कोई आसान तरीका नहीं है। आपके उत्तर पॉल के लिए धन्यवाद, लेकिन कृपया सामान्यता के उत्तर पर मेरी टिप्पणियां देखें, जो मुझे लगता है कि एक अच्छा मुद्दा है और मैं मानता हूं कि मुझे पुराने जेआरई – Andy