क्या यह केवल JVM द्वारा या संकलन-समय पर रन-टाइम पर अनुकूलित किया गया है?
Java संकलन आम तौर पर, (अलग compund शाब्दिक को हल करने से) बहुत कम अनुकूलन कर के बाद से "अनुकूलित" बाईटकोड अनुकूलन करने के लिए JIT कम्पाइलर की क्षमता में बाधा कर सकते हैं - और है कि जहां यह वास्तव में मायने रखती है।
या JVM अनुकूलन शक्तिशाली पर्याप्त ताकि मैं सिर्फ कोड कि को पठनीय और आसान है गति प्रदर्शन की परवाह किए बिना बनाए रखने लिखने के लिए कर रहे हैं?
यह JVM में भरोसा करने से बेहतर आप करते हैं (हालांकि यह निश्चित रूप से एक कारक है) का अनुकूलन करने का सवाल नहीं है, यह अनुकूलन पूरी तरह से अप्रासंगिक कुछ समय के 95% का सवाल है, के बाद से कोड निष्पादित नहीं किया गया है बार बार। यदि कोड का एक टुकड़ा आपके ऐप के निष्पादन समय के 0.1% के लिए खाता है, तो यह केवल परेशान करने योग्य नहीं है। यहां तक कि यदि आप इसे 100 बार बढ़ा सकते हैं, तो यह आपको कुछ भी हासिल नहीं करता है। और यह सबसे आम मामला है।
जब तक आप स्पष्ट रूप से बेवकूफ चीजों से बचते हैं, तब तक आपको अनुकूलन समस्या को तब तक भूलना चाहिए जब तक कि आपके पास ठोस प्रदर्शन समस्या न हो, और उसके बाद केवल कोड के टुकड़े अनुकूलित करें जो एक प्रोफाइलर आपको बताता है कि आप अपने कोड में हॉट स्पॉट हैं।
स्रोत
2009-06-03 10:01:20
सूर्य जेवीएम का उपयोग कर प्रारंभिक प्रोफाइलिंग के लिए, "jvisualvm" का उपयोग करें। यह NetBeans प्रोफाइलर का एक स्टैंडअलोन संस्करण है जो एक चल रही प्रोसेस से जुड़ा हो सकता है। –
(ग्रहण के लिए एक VisualVM लॉन्चर प्लगइन है।) –