2011-12-01 10 views
13

में कोई आकार क्यों नहीं है जावा में कोई आकार का ऑपरेटर नहीं है? यह जानकर कि यह सी ++ और सी # में बहुत उपयोगी है और यदि आवश्यक हो तो आप किसी निश्चित प्रकार का आकार कैसे प्राप्त कर सकते हैं?जावा

+0

संभव डुप्लिकेट [जावा में, किसी ऑब्जेक्ट के आकार को निर्धारित करने का सबसे अच्छा तरीका क्या है?] (Http://stackoverflow.com/questions/52353/in-java-what-is-the-best-way -टू-ए-ऑब्जेक्ट-ऑफ-ऑब्जेक्ट) –

+0

http://stackoverflow.com/questions/4115239/sizeof-java-object – birryree

+0

अच्छी संग्रह में .size() विधि और सरणी और स्ट्रिंग है। लम्बाई ()। क्या आपको बाइट्स विशेष रूप से चाहिए? – aishwarya

उत्तर

22

क्योंकि size of primitive types स्पष्ट रूप से जावा भाषा द्वारा अनिवार्य है। जेवीएम कार्यान्वयन के बीच कोई अंतर नहीं है।

इसके अलावा, चूंकि आवंटन new ऑपरेटर द्वारा किया गया है, इसके तर्क के आधार पर आवश्यक स्मृति की मात्रा निर्दिष्ट करने की आवश्यकता नहीं है।

यह कभी-कभी यह सुनिश्चित करने के लिए सुविधाजनक होगा कि ऑब्जेक्ट कितनी मेमोरी लेगा ताकि आप अधिकतम ढेर आकार की आवश्यकताओं जैसी चीजों का अनुमान लगा सकें लेकिन मुझे लगता है कि जावा भाषा/प्लेटफार्म डिजाइनरों ने यह नहीं सोचा था कि यह एक महत्वपूर्ण पहलू था।

+0

लोग, सी # के लिए वही हैं। मुझे लगता है कि डिजाइन कारण –

+1

है यह एक डिजाइन का परिणाम है। – nullpotent

+8

"लोगों ने जावा में अपनी अनुपस्थिति की आलोचना की" सी # में कई चीजों के लिए डिजाइन कारण है। – Affe

7

सी में केवल इसलिए उपयोगी है क्योंकि आपको मैन्युअल रूप से आवंटित और मुक्त मेमोरी है। हालांकि, चूंकि जावा में स्वचालित कचरा संग्रह होता है, यह आवश्यक नहीं है।

+0

एक बिंदु तक ... – nullpotent

+0

मुझे पता है कि कभी-कभी इसका उपयोग हो सकता है, लेकिन, जैसा कि @ मामेरिक्स ने बताया, शायद डिजाइनरों को नहीं लगता था कि इसे भाषा विनिर्देश में जोड़ना आवश्यक था। ऑब्जेक्ट के आकार को जानने के तरीके अभी भी हैं, इसके लिए एक प्रश्न टिप्पणी की जांच करें। – rabusmar

1

जावा में, आप सीधे स्मृति के साथ काम नहीं करते हैं, इसलिए sizeof आमतौर पर आवश्यक नहीं है, यदि आप अभी भी किसी ऑब्जेक्ट का आकार निर्धारित करना चाहते हैं, तो this question देखें।

0

सी sizeof की जरूरत है क्योंकि ints और देशांतर के आकार ओएस और संकलक के आधार पर अलग-अलग। या कम से कम यह इस्तेमाल किया जाता था। :-) जावा में सभी आकार, बिट कॉन्फ़िगरेशन (उदा। आईईईई 754) बेहतर परिभाषित हैं।

संपादित करें - मुझे लगता है कि @Maerics ने जावा चश्मा को उनके उत्तर में एक लिंक प्रदान किया है।

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

  • कोई संबंधित समस्या नहीं^_^