मैं डेटा संरचनाएं और विश्लेषण ले रहा हूं। हम इस बात पर चले गए हैं कि ऑब्जेक्ट प्रकारों की असाइनमेंट और तुलना असाइनमेंट और इंट जैसे बुनियादी प्रकारों की तुलना में बहुत धीमी है।जावा 'पॉइंटर्स' पूर्णांक हैं?
मुझे सी सीखना याद है (उन सभी लगभग तीस साल पहले) और सी में पॉइंटर्स पूर्णांक कॉल (या थे) थे। जावा समान आज एक instanced वस्तु आंतरिक स्मृति के एक पूर्णांक पते के लिए एक संदर्भ है, और इस तरह के रूप में ऐसी
if (MyObject != null) {...}
ढांचे के भीतर एक पूर्णांक आपरेशन के रूप में तुलना कर रहे हैं है?
मुझे आशा है कि मेरा प्रश्न स्पष्ट है। मैं चारों ओर शोध कर रहा हूं और जावा का गतिशील स्मृति कैसे प्रबंधित करता है इसका स्पष्ट उत्तर नहीं मिल रहा है।
मुझे यह पोस्ट खतरनाक रूप से भ्रमित लगता है। आप यह समझते हैं कि "ऑब्जेक्ट तुलना धीमी है", और तुलनात्मक पॉइंटर्स तेज़ और इसलिए बेहतर है। लेकिन वे पूरी तरह से अलग चीजें हैं। एक मूल्य समानता के बारे में है और दूसरा वस्तु पहचान के बारे में है। पायथन में एक समानता देने के लिए, एक '99 == 99' है, और दूसरा लगभग 301 है 301' –
मैं इंसिन्यूटिंग नहीं कर रहा हूं, मैं पूछ रहा हूं। आपके सहयोग के लिए धन्यवाद। – failure
जावा में सभी मान आंतरिक रूप से "पूर्णांक" हैं, जिसमें फ़्लोटिंग-पॉइंट नंबर शामिल हैं। यह एक बात है कि उनका व्याख्या कैसे किया जाता है। लेकिन आप * ऑब्जेक्ट्स * की तुलना के साथ * पॉइंटर्स * की तुलना में भ्रमित कर रहे हैं - दो पूरी तरह से अलग चीजें। '==' के साथ दो जावा" पॉइंटर्स "(संदर्भ) के बीच की तुलना दो * लंबी * मानों की तुलना में तेज़ है। –