में कोई आकार क्यों नहीं है जावा में कोई आकार का ऑपरेटर नहीं है? यह जानकर कि यह सी ++ और सी # में बहुत उपयोगी है और यदि आवश्यक हो तो आप किसी निश्चित प्रकार का आकार कैसे प्राप्त कर सकते हैं?जावा
जावा
उत्तर
क्योंकि size of primitive types स्पष्ट रूप से जावा भाषा द्वारा अनिवार्य है। जेवीएम कार्यान्वयन के बीच कोई अंतर नहीं है।
इसके अलावा, चूंकि आवंटन new
ऑपरेटर द्वारा किया गया है, इसके तर्क के आधार पर आवश्यक स्मृति की मात्रा निर्दिष्ट करने की आवश्यकता नहीं है।
यह कभी-कभी यह सुनिश्चित करने के लिए सुविधाजनक होगा कि ऑब्जेक्ट कितनी मेमोरी लेगा ताकि आप अधिकतम ढेर आकार की आवश्यकताओं जैसी चीजों का अनुमान लगा सकें लेकिन मुझे लगता है कि जावा भाषा/प्लेटफार्म डिजाइनरों ने यह नहीं सोचा था कि यह एक महत्वपूर्ण पहलू था।
लोग, सी # के लिए वही हैं। मुझे लगता है कि डिजाइन कारण –
है यह एक डिजाइन का परिणाम है। – nullpotent
"लोगों ने जावा में अपनी अनुपस्थिति की आलोचना की" सी # में कई चीजों के लिए डिजाइन कारण है। – Affe
सी में केवल इसलिए उपयोगी है क्योंकि आपको मैन्युअल रूप से आवंटित और मुक्त मेमोरी है। हालांकि, चूंकि जावा में स्वचालित कचरा संग्रह होता है, यह आवश्यक नहीं है।
एक बिंदु तक ... – nullpotent
मुझे पता है कि कभी-कभी इसका उपयोग हो सकता है, लेकिन, जैसा कि @ मामेरिक्स ने बताया, शायद डिजाइनरों को नहीं लगता था कि इसे भाषा विनिर्देश में जोड़ना आवश्यक था। ऑब्जेक्ट के आकार को जानने के तरीके अभी भी हैं, इसके लिए एक प्रश्न टिप्पणी की जांच करें। – rabusmar
जावा में, आप सीधे स्मृति के साथ काम नहीं करते हैं, इसलिए sizeof
आमतौर पर आवश्यक नहीं है, यदि आप अभी भी किसी ऑब्जेक्ट का आकार निर्धारित करना चाहते हैं, तो this question देखें।
मेमोरी मैनेजमेंट जावा में वी एम द्वारा किया जाता है, शायद यह आपकी मदद कर सकता है: http://www.javamex.com/java_equivalents/memory_management.shtml
सी sizeof की जरूरत है क्योंकि ints और देशांतर के आकार ओएस और संकलक के आधार पर अलग-अलग। या कम से कम यह इस्तेमाल किया जाता था। :-) जावा में सभी आकार, बिट कॉन्फ़िगरेशन (उदा। आईईईई 754) बेहतर परिभाषित हैं।
संपादित करें - मुझे लगता है कि @Maerics ने जावा चश्मा को उनके उत्तर में एक लिंक प्रदान किया है।
संभव डुप्लिकेट [जावा में, किसी ऑब्जेक्ट के आकार को निर्धारित करने का सबसे अच्छा तरीका क्या है?] (Http://stackoverflow.com/questions/52353/in-java-what-is-the-best-way -टू-ए-ऑब्जेक्ट-ऑफ-ऑब्जेक्ट) –
http://stackoverflow.com/questions/4115239/sizeof-java-object – birryree
अच्छी संग्रह में .size() विधि और सरणी और स्ट्रिंग है। लम्बाई ()। क्या आपको बाइट्स विशेष रूप से चाहिए? – aishwarya