मैं एक्सएमएल पार्सिंग के लिए जेएक्सबी का उपयोग कर रहा हूं, क्या कोई प्रदर्शन या स्मृति उपयोग समस्याएं हैं?क्या JAXB के साथ कोई स्मृति उपयोगिता समस्या है?
उत्तर
ध्यान देने योग्य एक बात यह है कि JAXBContext.newInstance()
एक बहुत ही धीमी गति से संचालन है। यह वह जगह है जहां बहुत प्रतिबिंब और वर्ग पीढ़ी होती है, जिससे डफिमो द्वारा वर्णित परम स्पेस के मुद्दों का कारण बनता है। शुक्र है, JAXBContext
थ्रेड-सुरक्षित है, इसलिए यह cache one away and reuse it पर ठीक है। अन्यथा, मुझे लगता है कि यह कहना सुरक्षित है कि पूर्ण DOM की तुलना में JAXB मेमोरी उपयोग ऑन-पैरा (या शायद कम) होगा, और, निश्चित रूप से, SAX से अधिक है।
यदि आपके पास बहुत बड़े दस्तावेज़ हैं, तो यह संभव है process them in chunks with JAXB। JAXB RI distribution में जेएक्सबी के साथ स्ट्रीमिंग का एक उदाहरण शामिल है।
मैंने देखा है कि जावा में अधिक 'सरल' एक्सएमएल हैंडलिंग तंत्र जैसे एक्सरस SAXParser
के विपरीत प्रदर्शन को JAXB के साथ बहुत बुरी तरह प्रभावित किया जा सकता है।
जेएक्सबी डीओएम-आधारित पार्सिंग के समान मूलभूत मुद्दों से ग्रस्त है, जो आमतौर पर बोल रहा है, संपूर्ण डेटा डेटा संरचना एक ही समय में स्मृति में आयोजित की जाती है। उस ने कहा, यह आम तौर पर एक डीओएम एपीआई (एक्सओएम के संभावित अपवाद के साथ) से कम स्मृति-भूखा है।
यह कहकर कि, यदि आवश्यक हो, तो स्ट्रीम-उन्मुख फैशन में बड़े दस्तावेज़ों के टुकड़े पढ़ने के लिए जेएक्सबी का उपयोग करने के तरीके हैं। यद्यपि यह काफी विदेशी उपयोग है।
जेएक्सबी के पास आपके परम स्पेस में जोड़े जाने वाले वर्ग बनाने के लिए प्रतिबिंब का उपयोग करने का अतिरिक्त मुद्दा है। OutOfMemoryError तबाही आ सकता है।
अधिक [प्रासंगिक उत्तर] (http://stackoverflow.com/a/33431431/122727) NoOptimize के बारे में। – kubanczyk
आप वास्तव में जावा XML डेटा अत्यधिक ऑब्जेक्ट निर्माण/विनाश के कारण बंधन के साथ प्रदर्शन और स्मृति मुद्दों में चला सकते हैं, this article बंधन तकनीक उन मुद्दों
JVM तर्क नीचे जोड़ने से परहेज मदद मिल सकती है कि एक नए डेटा की व्याख्या में मदद मिल सकती इस मुद्दे (मामूली प्रदर्शन प्रभाव के साथ)
-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true
- 1. स्मृति स्मृति के साथ आर मेमोरी समस्या()
- 2. समय/क्षणिक प्रविष्टियों के साथ मानचित्र - स्मृति कोई समस्या नहीं
- 3. JAXB - कोई xsi के साथ रिक्त टैग्स:
- 4. क्या इस सिंगलटन कार्यान्वयन के साथ कोई समस्या है?
- 5. UITextChecker: सीखने के साथ स्मृति समस्या
- 6. समस्या निवारण JAXB unmarshalling एनपीई
- 7. क्या वीबीस्क्रिप्ट को साफ करने के लिए कोई उपयोगिता है?
- 8. Numpy सरणी स्मृति समस्या
- 9. PHP उच्च स्मृति समस्या
- 10. क्या रचनाकार प्रारंभिक सूचियों के भीतर स्मृति आवंटित करने में कोई समस्या है?
- 11. क्या कोई JAXB 2.0 के साथ marshalled XML को मान्य कर सकता है?
- 12. कम() के साथ समस्या क्या है?
- 13. `enable_shared_from_this` की उपयोगिता क्या है?
- 14. उपफोल्डर में फेविकॉन के साथ कोई समस्या?
- 15. System.Net.PeerToPeer लाइब्रेरी के साथ कोई समस्या?
- 16. क्या लिनक्स के तहत ओपनजेडीके के साथ एक्लिप्स चलाने के साथ अब कोई समस्या है?
- 17. सी/सी ++ में स्मृति समस्या क्यों है?
- 18. JAXB
- 19. क्या यूनिक्स "फ़ाइल" उपयोगिता का कोई अजगर-समतुल्य है?
- 20. क्या वहां कोई Node.js समस्या ट्रैकर्स है?
- 21. JAXB
- 22. JAXB
- 23. मुफ्त() के बाद स्मृति के साथ क्या होता है?
- 24. ऐसी कोई तालिका android_metadata, समस्या क्या है?
- 25. JAXB
- 26. JAXB: कैसे JAXB बनाने के लिए 0
- 27. क्या Python2.7 के लिए कोई स्मृति प्रोफाइलर है?
- 28. int * p के साथ समस्या क्या है; * पी = 23;
- 29. JAXB एक namespace के साथ विशेषताओं
- 30. JAXB
आप पार्सर तरह SAX के रूप में JAXB का उपयोग कर व्याख्या कर सकते हैं ठीक कर सकते हैं? –
आपको SAX (पुराना प्रसंस्करण मॉडल) का उपयोग करने की आवश्यकता नहीं है, आप STAX या VTD-XML –
@Jimmy का भी उपयोग कर सकते हैं: https://jaxb.dev.java.net/guide/Dealing_with_large_documents.html#Processing%5Fa % 5Fdocument% 5Fby% 5Fchunk – skaffman