2012-01-15 8 views
6

मैं मेवेन में निर्भरताओं के बारे में सोच रहा था। मेवेन उन्हें डाउनलोड करता है लेकिन यह अज्ञात है कि जेवीएम के किस लक्ष्य संस्करण के लिए संकलित किया गया है और किस कंपाइलर के साथ।मैवेन के साथ निर्भरताओं का पुनर्मूल्यांकन - संभव है? कोई प्रदर्शन बढ़ावा?

  • रखता तेजी से निर्भरता पुस्तकालयों लाने निर्भरता चाहेंगे: यह दो सवाल उठता है? मैंने इसे खोजने की कोशिश की, लेकिन पर्याप्त उत्तर नहीं मिला। मुझे पता चला कि 1.6 के लिए Split bytecode verification है, जो लक्ष्य 1.6 के साथ संकलित करते समय किया जाता है।
    एक प्रश्न भी है Are Java 6's performance improvements in the JDK, JVM, or both? जहां यह उल्लेख किया गया है कि जावैक के नए संस्करण अधिक अनुकूलित कोड उत्पन्न कर सकते हैं।
  • क्या मेवेन के साथ निर्भर पुस्तकालयों का पुनर्मूल्यांकन करना संभव है? क्या मैवेन को स्रोत डाउनलोड करने के लिए कॉन्फ़िगर करना संभव होगा, 1.6 लक्ष्य के बारे में जानकारी दें और एमवीएन क्लीन इंस्टॉल करें?
    मुझे Maven Dependency plugin और dependency:sources लक्ष्य से अवगत है। इसका उपयोग स्रोत डाउनलोड के लिए किया जा सकता है।
    Maven Replacer Plugin भी फाइलों में पाठ को बदलने की अनुमति देता है। जैसा कि इसके Issue 58 में बताया गया है इसके लिए XPath समर्थन लागू किया गया था।
    निर्भरता के लिए इन प्लगइन्स के साथ इसे लागू करना और इसकी निर्भरताओं के लिए इसे लागू करना संभव होगा? मुझे यकीन नहीं है कि निर्भरताओं पर इसे कैसे किया जाए - शायद मैवेन रेप्लसर प्लगइन के साथ कॉन्फ़िगरेशन को अनपॅक किए गए निर्भरताओं pom.xml में इंजेक्शन दे रहा है?
    या कोई उपयोगकर्ता के settings.xml में निर्माण प्रोफाइल के साथ लक्ष्य जावा संस्करण कॉन्फ़िगर करने के लिए है कि परियोजना सेटिंग्स की पूर्वता और इसलिए परहेज pom.xml संशोधन ले जाएगा एक सरल तरीका है?

उत्तर

3

javac कोई अनुकूलन के बगल में नहीं है और यह शुरुआती दिनों से वहां रहा है। (और इसे ऐतिहासिक भी माना जा सकता है) यदि आपके पास जावा 1.0 द्वारा निर्मित कोड है तो आपको एक सुधार मिल सकता है लेकिन पिछले दस वर्षों से कुछ भी बाइट कोड में इष्टतम होने की संभावना है।

अधिकांश ऑप्टिमाइज़ेशन स्वयं JVM में किया जाता है, और आपको यह पता होना चाहिए कि जावा 6 अद्यतन जावा के मुकाबले 30 रन तेज है, ठीक उसी कोड के लिए भी 0 अपडेट 0।

1

चलो एक पल के लिए सोचें कि एक मेवेन निर्भरता क्या है।

  • एक संग्रह में पैक किया जाता है,
  • जो एक संस्करण वर्णनकर्ता के तहत भंडार
  • में मौजूद है: सबसे सामान्य अर्थ में, यह सॉफ्टवेयर का एक टुकड़ा किसी और द्वारा विकसित, अपने स्वयं के जीवन चक्र है कि जीवित है (समूह, आर्टिफैक्ट, संस्करण)।

यह सब मैवेन गारंटी है। ध्यान दें कि यह यह भी नहीं कहता कि यह जावा है (संसाधन हो सकता है, या मूल पुस्तकालय, उदाहरण के लिए)। बहुत ज्यादा नहीं। निर्भरताओं के स्वचालित पुनर्मूल्यांकन की मांग करने के लिए बहुत कम है।

+0

यह अच्छी बात है। मुझे पता है कि संसाधनों के साथ पैकेज प्रदर्शन को प्रभावित नहीं करता है। मैं संकलित किए गए जावा पुस्तकालयों के मामले पर विचार कर रहा था, अगर उन्हें पुन: संकलित करने का तरीका है और लक्ष्य जावा संस्करण को 1.6 पर बल दें (यदि इससे कोई फर्क पड़ता है)। मैं इसके बारे में सोच रहा हूं जैसे कि लिनक्स पैकेज बिल्ड सिस्टम। संकुल संकलित करना संभव है, लेकिन निश्चित रूप से पैकेज हो सकते हैं उदा। दस्तावेज जो perofrmace को प्रभावित नहीं करता है। – Aries

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