1. स्मृति कैसे व्यवस्थित होती है

हर कंप्यूटर में आंतरिक मेमोरी होती है । क्या है वह? इसके क्या गुण हैं? और, सबसे महत्वपूर्ण बात यह है कि इससे हमें क्या लाभ होता है?

प्रत्येक प्रोग्राम ( जावा में लिखे गए प्रोग्राम सहित) को निष्पादित करने से पहले मुख्य मेमोरी में लोड किया जाता है। मुख्य मेमोरी में प्रोग्राम कोड (जो प्रोसेसर द्वारा निष्पादित किया जाता है) के साथ-साथ प्रोग्राम डेटा (यानी डेटा जो प्रोग्राम स्वयं मेमोरी में डालता है) होता है।

स्मृति क्या है और कैसी होती है?

एक एक्सेल स्प्रेडशीट में सेल होते हैं । प्रत्येक सेल का अपना विशिष्ट पहचानकर्ता ( A1, A2, ... B1, B2) होता है। यदि आप सेल के पहचानकर्ता को जानते हैं , तो आप हमेशा इसमें कुछ मान लिख सकते हैं या जो भी मूल्य वहां संग्रहीत है उसे प्राप्त कर सकते हैं। कंप्यूटर मेमोरी को बहुत ही समान तरीके से व्यवस्थित किया जाता है।

जब प्रोग्राम चल रहा होता है तो प्रोग्राम और प्रोग्राम डेटा को मेमोरी में स्टोर किया जाता है। सभी कंप्यूटर मेमोरी में बाइट्स नामक छोटी कोशिकाओं का समावेश होता है । प्रत्येक सेल में एक विशिष्ट पहचानकर्ता या संख्या होती है, जो इससे जुड़ी होती है: 0, 1, 2, 3...; (नंबरिंग शून्य से शुरू होती है)। अगर हमें सेल का नंबर पता है , तो हम उसमें डेटा सेव कर सकते हैं। या इससे डेटा प्राप्त करें। कुछ सेल प्रोग्राम के कोड को स्टोर करते हैं, यानी प्रोसेसर के लिए कमांड का सेट। अन्य प्रोग्राम द्वारा उपयोग किए गए डेटा को स्टोर करते हैं। सेल के नंबर को सेल एड्रेस भी कहा जाता है ।

प्रोसेसर मेमोरी में लोड किए गए कमांड को निष्पादित करना जानता है। लगभग सभी प्रोसेसर कमांड कुछ सेल से डेटा लेते हैं , उनके साथ कुछ करते हैं , फिर परिणाम अन्य सेल को भेजते हैं

हम जटिल और उपयोगी आदेश प्राप्त करने के लिए सैकड़ों सरल आदेशों को जोड़ते हैं।

जब एक चर को कोड में घोषित किया जाता है, तो स्मृति का एक हिस्सा जो पहले से उपयोग नहीं किया जा रहा है, इसके लिए आवंटित किया जाता है। यह आमतौर पर कुछ बाइट्स होता है। एक चर घोषित करने के लिए आवश्यक है कि आप उस जानकारी के प्रकार को इंगित करें जो प्रोग्राम उसमें संग्रहीत करेगा: संख्याएँ, पाठ, या अन्य डेटा। आखिरकार, यदि आप संग्रहीत की जाने वाली जानकारी के प्रकार को नहीं जानते हैं, तो यह स्पष्ट नहीं है कि चर के लिए मेमोरी के कितने बड़े ब्लॉक को आवंटित करने की आवश्यकता है।

कंप्यूटर युग की शुरुआत में, प्रोग्राम सीधे स्मृति पतों के साथ काम करते थे, लेकिन फिर, प्रोग्रामर की सुविधा के लिए, कोशिकाओं को नाम दिए जाने लगे। प्रोग्रामर की सुविधा के लिए एक अद्वितीय चर नाम सबसे ऊपर है, क्योंकि प्रोग्राम सादे मेमोरी पतों को ठीक से संभालता है।


2. स्मृति में चर

कुल मिलाकर, जावा में पूर्णांकों को संग्रहीत करने के लिए 4 डेटा प्रकार हैं। ये हैं byte, short, intऔर long.

प्रकार बाइट्स में आकार प्रकार के नाम की उत्पत्ति
byte 1 बिट के साथ भ्रम की स्थिति से बचने के लिए बाइट एक जानबूझकर काटने का पुनर्विक्रय है
short 2 लघु पूर्णांक के लिए लघु
int 4 पूर्णांक के लिए लघु
long 8 लंबे पूर्णांक के लिए लघु

इसके अतिरिक्त, जावा में वास्तविक संख्याओं के लिए 2 प्रकार हैं: फ्लोट और डबल:

प्रकार बाइट्स में आकार प्रकार के नाम की उत्पत्ति
float 4 फ़्लोटिंग पॉइंट नंबर के लिए संक्षिप्त
double 8 डबल फ्लोट के लिए लघु

हर बार प्रोग्राम निष्पादन एक चर बनाने के लिए एक कमांड तक पहुंचता है, इसके लिए मेमोरी का एक छोटा ब्लॉक आवंटित किया जाता है (आकार चर के प्रकार पर निर्भर करता है)।

एक चर का पता आवंटित मेमोरी ब्लॉक के पहले सेल का पता है।

जावा प्रोग्राम को सीधे मेमोरी एक्सेस करने की अनुमति नहीं है। स्मृति के साथ कोई भी और सभी कार्य जावा वर्चुअल मशीन के माध्यम से ही होता है।


3. Stringस्मृति में प्रकार

प्रकार Stringबड़ी मात्रा में डेटा संग्रहीत कर सकता है, जिसका अर्थ है कि यह केवल एक डेटा प्रकार नहीं है, बल्कि एक पूर्ण वर्ग है।

ऑब्जेक्ट Stringको स्मृति के आवंटित ब्लॉक में रखा गया है जो स्मृति के दूसरे ब्लॉक के पते को संग्रहीत करता है जिसमें टेक्स्ट संग्रहीत होता है।

चर बाइट्स int aपर कब्जा कर लेता है 4और मान को संग्रहीत करता है 1

चर बाइट्स int bपर कब्जा कर लेता है 4और मान को संग्रहीत करता है 10,555। हम अल्पविराम का उपयोग हजारों विभाजक के रूप में करते हैं। और हम एक अवधि का उपयोग दशमलव विभाजक के रूप में करते हैं।

चर बाइट्स double dपर कब्जा कर लेता है 8और मान को संग्रहीत करता है 13.001

चर बाइट्स पर String strकब्जा कर लेता है 4और मान को संग्रहीत करता है G13, जो पाठ वाले मेमोरी ब्लॉक के पहले सेल का पता है।

का एक टेक्स्ट String objectमेमोरी के एक अलग ब्लॉक में स्टोर किया जाता है। इसके पहले सेल का एड्रेस strवेरिएबल में स्टोर होता है।


4. प्रोग्रामिंग में नंबरिंग शून्य से क्यों शुरू होती है

लोग अक्सर आश्चर्य करते हैं कि प्रोग्रामर लगभग हमेशा शून्य से गिनना क्यों शुरू करते हैं। खैर, तथ्य यह है कि ऐसी कई स्थितियाँ हैं जब शून्य से गिनना अधिक सुविधाजनक होता है (बेशक, ऐसी परिस्थितियाँ भी होती हैं जहाँ से गिनना अधिक सुविधाजनक होता है 1)।

मेमोरी एड्रेसिंग का सबसे सरल उदाहरण है। यदि आपके चर को 4स्मृति के बाइट आवंटित किए गए हैं और आप जानते हैं कि यह Xपहली बाइट का पता है, तो प्रत्येक बाइट के पते क्या हैं? , , , . जितना आसान है, हमारे पास बाइट्स का एक समूह है जिसे इंडेक्स , , , के साथ एक्सेस किया जा सकता है ।X+0X+1X+2X+30123

जब हम डेटा ब्लॉक के भीतर एक रिश्तेदार पते के बारे में सोचते हैं, तो शून्य से अनुक्रमण करना समझ में आता है। शून्य से गिनती करने का यही मुख्य कारण है ।