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+0
X+1
X+2
X+3
0
1
2
3
தரவுத் தொகுதிக்குள் தொடர்புடைய முகவரியைப் பற்றி நாம் நினைக்கும் போது, பூஜ்ஜியத்திலிருந்து அட்டவணைப்படுத்துவது அர்த்தமுள்ளதாக இருக்கும். பூஜ்ஜியத்தில் இருந்து எண்ணுவதற்கு இதுவே முக்கிய காரணம் .
GO TO FULL VERSION