जावा में, वर्ण डेटा प्रकार, char
, 2 बाइट्स के साथ दर्शाया गया है। n
अक्षरों की संख्या, char[]
, 2n+24
बाइट्स के साथ दर्शाया गया है।जावा में सरणी के लिए स्मृति उपयोग में ओवरहेड का कारण क्या है?
आम तौर पर, 24
बाइट्स का ओवरहेड n
ऑब्जेक्ट्स (कम से कम यदि ऑब्जेक्ट्स आदिम प्रकार के होते हैं) को संग्रहीत करने के लिए ओवरहेड होता है।
हमें इन अतिरिक्त 24 बाइटों की आवश्यकता क्यों है? उनका उपयोग कैसे किया जाता है?
संपादित करें (जुलाई 2 9 2015) । यह टिप्पणी में मेरे ध्यान में लाया गया था कि इस प्रश्न का उत्तर प्रोग्रामर StackExchange पर here प्रदान किया गया है।
उत्तर [यहां] (http://programmers.stackexchange.com/questions/162546/why-the-overhead-when-allocating-objects-arrays-in-java) –
शायद सरणी की लंबाई जा रही है इसका हिस्सा बनने के लिए (जो जावा को दुर्घटना से सरणी के बाद जंक में पढ़ने की इजाजत नहीं देता है - दिल से बग किसी को भी?) –