CodeGym/Java Course/தொகுதி 3/ஜாவாவில் குப்பை சேகரிப்பு

ஜாவாவில் குப்பை சேகரிப்பு

கிடைக்கப்பெறுகிறது

ஜாவாவில் குப்பை சேகரிப்பு என்ன என்பதை நினைவில் கொள்க

குப்பை சேகரிப்பு என்பது பயன்படுத்தப்படாத பொருட்களை அழிப்பதன் மூலம் முழு இயக்க நேர நினைவகத்தை மீட்டெடுக்கும் செயல்முறையாகும்.

சில நேரங்களில் புரோகிராமர் பயனற்ற பொருட்களை அழிக்க மறந்துவிடுவார், மேலும் அவர்களுக்கு ஒதுக்கப்பட்ட நினைவகம் விடுவிக்கப்படவில்லை. மேலும் கணினி நினைவகம் நுகரப்படுகிறது, இறுதியில் அதிக அளவு ஒதுக்கப்படவில்லை. இத்தகைய பயன்பாடுகள் "நினைவக கசிவுகளால்" பாதிக்கப்படுகின்றன.

ஒரு குறிப்பிட்ட புள்ளிக்குப் பிறகு, புதிய பொருட்களை உருவாக்க போதுமான நினைவகம் இல்லை மற்றும் OutOfMemoryError காரணமாக நிரல் அசாதாரணமாக முடிவடைகிறது .

ஜாவாவில் குப்பை சேகரிப்பு என்பது ஜாவா நிரல்கள் நினைவகத்தை தானாகவே நிர்வகிக்கும் செயல்முறையாகும். ஜாவா நிரல்கள் ஜாவா மெய்நிகர் இயந்திரத்தில் (ஜேவிஎம்) இயங்கும் பைட்கோடில் தொகுக்கப்படுகின்றன.

ஜாவா புரோகிராம்கள் ஜேவிஎம்மில் இயங்கும் போது, ​​பொருள்கள் குவியலில் உருவாக்கப்படுகின்றன, இது அவர்களுக்கு ஒதுக்கப்பட்ட நினைவகத்தின் பகுதியாகும்.

ஜாவா அப்ளிகேஷன் இயங்கும்போது, ​​அதில் புதிய பொருள்கள் உருவாக்கப்படுகின்றன. இறுதியில், சில பொருள்கள் இனி தேவைப்படாது. எந்த நேரத்திலும், குவியல் நினைவகம் இரண்டு வகையான பொருட்களைக் கொண்டுள்ளது என்று நாம் கூறலாம்.

  • நேரடி - இந்த பொருள்கள் பயன்படுத்தப்படுகின்றன, அவை வேறு எங்கிருந்தோ குறிப்பிடப்படுகின்றன.
  • இறந்த - இந்த பொருள்கள் வேறு எங்கும் பயன்படுத்தப்படவில்லை, அவற்றைப் பற்றிய குறிப்புகள் எதுவும் இல்லை.

குப்பை சேகரிப்பவர் இந்த பயன்படுத்தப்படாத பொருட்களை கண்டுபிடித்து நினைவகத்தை விடுவிக்க அவற்றை அகற்றுகிறார்.

ஜாவாவில் குப்பை சேகரிப்பு என்பது ஒரு தானியங்கி செயல்முறையாகும் . புரோகிராமர், நீக்கப்பட வேண்டிய பொருட்களை வெளிப்படையாகக் குறிக்க வேண்டியதில்லை.

ஒவ்வொரு ஜே.வி.எம்.மும் அதன் சொந்த குப்பை சேகரிப்பை செயல்படுத்தலாம். இருப்பினும், சேகரிப்பான் ஹீப் நினைவகத்தில் இருக்கும் பொருட்களைக் குறிக்க அல்லது அடைய முடியாத பொருட்களை அடையாளம் கண்டு அவற்றைச் சுருக்கம் மூலம் அழிப்பதற்காக நிலையான JVM விவரக்குறிப்புக்கு இணங்க வேண்டும்.

பொருள் அடையக்கூடிய தன்மை

ஒரு பொருளை உயிருடன் இருப்பதை அங்கீகரிக்க, இணைப்புகள் இருப்பது போதாது. ஏனென்றால், சில இறந்த பொருள்கள் மற்ற இறந்த பொருட்களைக் குறிக்கலாம். அதனால்தான் ஒரு பொருளைப் பற்றிய அனைத்து குறிப்புகளிலும், "நேரடி" பொருளில் இருந்து குறைந்தபட்சம் ஒன்று இருக்க வேண்டும்.

பொருள் அடையக்கூடிய தன்மை

குப்பை சேகரிப்பாளர்கள் ஜி.சி வேர்கள் ( குப்பை சேகரிப்பு வேர்கள் ) என்ற கருத்துடன் செயல்படுகின்றனர், இது உயிருள்ள மற்றும் இறந்த பொருட்களை வேறுபடுத்துகிறது. 100% நேரடிப் பொருள்கள் உள்ளன, அவற்றிலிருந்து பிற பொருட்களை உயிரூட்டும் இணைப்புகள் மற்றும் பல உள்ளன.

அத்தகைய வேர்களின் எடுத்துக்காட்டுகள்:

  • கணினி வகுப்பு ஏற்றி ஏற்றப்படும் வகுப்புகள்.
  • நேரடி ஸ்ட்ரீம்கள்.
  • தற்போது செயல்படுத்தும் முறைகள் மற்றும் உள்ளூர் மாறிகளின் அளவுருக்கள்.
  • ஒத்திசைவுக்கான மானிட்டராகப் பயன்படுத்தப்படும் பொருள்கள்.
  • சில நோக்கங்களுக்காக குப்பை சேகரிப்பில் இருந்து தக்கவைக்கப்படும் பொருட்கள்.
  • குப்பை சேகரிப்பான் நினைவகத்தில் உள்ள பொருள்களின் முழு வரைபடத்தின் வழியாகவும், இந்த வேர்களில் தொடங்கி மற்ற பொருட்களைப் பற்றிய குறிப்புகளைப் பின்பற்றுகிறது.

ஜாவாவில் குப்பை சேகரிப்பு படிகள்

நிலையான குப்பை சேகரிப்பு நடைமுறை மூன்று படிகளைக் கொண்டுள்ளது.

1. பொருட்களை நேரலையாகக் குறிக்கவும்

இந்த கட்டத்தில், குப்பை சேகரிப்பான் (GC) பொருள் வரைபடத்தை கடந்து நினைவகத்தில் உள்ள அனைத்து உயிருள்ள பொருட்களையும் அடையாளம் காண வேண்டும்.

அது ஒரு பொருளைப் பார்வையிடும் போது, ​​அது கிடைக்கக்கூடியதாகவும் அதனால் உயிருடன் இருப்பதாகவும் குறிக்கும். GC வேர்களில் இருந்து அணுக முடியாத அனைத்து பொருட்களும் குப்பை சேகரிப்புக்கான வேட்பாளர்களாக கருதப்படுகின்றன.

2. இறந்த பொருட்களை சுத்தம் செய்தல்

மார்க்அப் கட்டத்திற்குப் பிறகு, நினைவக இடம் உயிருள்ள (பார்வையிட்ட) அல்லது இறந்த (பார்வையிடப்படாத) பொருள்களால் ஆக்கிரமிக்கப்படுகிறது. தூய்மைப்படுத்தும் கட்டம் இந்த இறந்த பொருட்களைக் கொண்டிருக்கும் நினைவக துண்டுகளை விடுவிக்கிறது.

3. நினைவகத்தில் மீதமுள்ள பொருட்களின் சுருக்கமான ஏற்பாடு

முந்தைய கட்டத்தில் அகற்றப்பட்ட இறந்த பொருள்கள் ஒருவருக்கொருவர் அடுத்ததாக இருக்க வேண்டிய அவசியமில்லை. இதனால், நீங்கள் ஒரு துண்டு துண்டான (அரை-வெற்று) நினைவக இடத்தைப் பெறுவீர்கள்.

ஆனால், நிச்சயமாக, இதை வழங்குவதன் மூலம், குப்பை சேகரிப்பான் இறந்த பொருட்களை அகற்றும் தருணத்தில் நினைவகத்தை சுருக்க முடியும். மீதமுள்ளவை குவியலின் தொடக்கத்தில் ஒரு தொடர்ச்சியான தொகுதியில் அமைந்திருக்கும்.

புதிய பொருள்களுக்கான நினைவகத்தை வரிசையாக ஒதுக்குவதை சுருக்கச் செயல்முறை எளிதாக்குகிறது.

கருத்துக்கள்
  • பிரபலமானவை
  • புதியவை
  • பழையவை
ஒரு கருத்தைத் தெரிவிக்க நீங்கள் உள்நுழைந்திருக்க வேண்டும்
இந்தப் பக்கத்தில் இதுவரை எந்தக் கருத்தும் வழங்கப்படவில்லை