पर कुछ पूर्ण तरीकों को खोना शायद मैं इस गलत तरीके से जा रहा हूं लेकिन मुझे कुछ पूर्णByteBuffer
पर विधियां डाल रही हैं।बाइटबफर
यदि आप ByteBuffer
पर देखते हैं तो आप देखेंगे कि अधिकांश पुट विधियों में एक पूर्ण और सापेक्ष भिन्नता है।
:
ByteBuffer
में एकbyte
सरणी के कुछ हिस्सों लेखन।ByteBuffer
कोByteBuffer
में लिखना।
.. और मुझे बिल्कुल वही चाहिए।
स्पष्ट है ByteBuffer
तरीकों है:
put(byte[] src, int offset, int length)
put(ByteBuffer src)
लेकिन कमी है:
put(int index, byte[] src, int offset, int length)
put(int index, ByteBuffer src)
मैं कारणों कारण है कि मैं बफर की स्थिति सूचक ले जाने के लिए नहीं करना चाहते हैं, इसलिए मैं केवल उपयोग करना चाहते हैं पूर्ण डाल विधि।
कोई विचार क्यों उन विधियों को छोड़ दिया गया है?
मैं निश्चित रूप से बफर की स्थिति सूचक को घुमाने के बिना लापता विधियों की नकल कर सकता हूं लेकिन इसमें स्रोत बाइट्स पर लूपिंग शामिल होगी। जावाडोक स्पष्ट रूप से बताता है कि विधियां विधियां (संभावित रूप से) लूपिंग की तुलना में आगे बढ़ने और बाइट्स को एक-एक करके स्थानांतरित करने से अधिक कुशल होती हैं। मैं जावाडोक पर विश्वास करता हूं क्योंकि मेरे परीक्षण एक ही संकेत देते हैं। मुझे अपने कार्यान्वयन से जितनी गति हो सकती है, इसलिए मुझे निचोड़ने की ज़रूरत है, इसलिए मैं निश्चित रूप से उन सभी थोक तरीकों का लाभ उठाने के इच्छुक हूं जिन पर मैं अपना हाथ ले सकता हूं .... अगर वे केवल अस्तित्व में हैं।
आकस्मिक रूप से ByteBuffer
आंशिक बाइट सरणी चाल के लिए एक पूर्ण get
विधि भी अनुपलब्ध है। लेकिन मुझे वास्तव में इस तरह की एक विधि की जरूरत नहीं है। लेकिन फिर अजीब यह अस्तित्व में नहीं है।
बस एक फॉलो-अप। यह http://thesoftwarelife.blogspot.dk/2009/10/java-bytebuffer-annoyances.html पाया है जो लगभग एक ही चीज़ के बारे में शिकायत कर रहा है। – peterh
मैं तर्क दूंगा कि पूर्ण विधियां सापेक्ष लोगों की तुलना में अधिक उपयोगी और महत्वपूर्ण हैं। अगर मैं उस एपीआई को फिर से डिजाइन कर रहा था, तो मैं सभी पदों को छोड़ दूंगा, फ्लिप, रिवाइंड, मार्क, रीसेट, और इसी तरह और केवल मेमोरी एक्सेस प्रदान करने पर ध्यान केंद्रित करूँगा, इसे मूल रूप से एक हेवीवेट सरणी के रूप में छोड़कर सी 'यूनियन' विशेषताएं। – Boann
@ बोआन - ऐसा ही होगा। बिल्कुल जिस तरह से मैं इसके बारे में सोचता हूं। – peterh