ఒక సాధారణ-ప్రయోజన ప్రోగ్రామింగ్ భాష మరియు మీ ప్రోగ్రామ్లో ఉపయోగించని డేటా ఉన్న పరిస్థితిని మీరు తీసుకుంటే మరియు దానిని ఎలా నిర్వహించాలో మీకు తెలియకపోతే, జావాలో చెత్త సేకరణ ఉపయోగపడుతుంది. కాబట్టి, ఈ విధులను నిర్వహించడంలో మీకు సహాయపడటానికి నేను ఈ కథనాన్ని వ్రాస్తున్నాను.
నేను ఈ క్రింది క్రమంలో అంశాలను కవర్ చేస్తాను:
- జావాలో చెత్త సేకరణ అంటే ఏమిటి?
- చెత్త సేకరణ ఎలా పని చేస్తుంది?
- చెత్త సేకరణ రకాలు
- ప్రయోజనాలు
- ఉత్తమ పద్ధతులు
ప్రారంభిద్దాం!
జావాలో చెత్త సేకరణ అంటే ఏమిటి?
జావాలో, ప్రోగ్రామర్లు నాశనం చేయాల్సిన సమస్యను ఎదుర్కొంటారు వస్తువులు అవి ఉపయోగంలో లేవు. కానీ చెత్త కలెక్టర్తో, దీన్ని సులభంగా చూసుకోవచ్చు. ఈ చెత్త కలెక్టర్ యొక్క ప్రధాన లక్ష్యం వస్తువులను నాశనం చేయడం ద్వారా కుప్ప జ్ఞాపకశక్తిని ఖాళీ చేయడం. టెక్నిక్ అంటారు చెత్త సేకరణ.
ఇది ఆటోమేటిక్ మెమరీ నిర్వహణకు సహాయపడే ప్రోగ్రామ్గా కూడా పరిగణించబడుతుంది. ఎప్పుడు JVM లో నడుస్తాయి, వస్తువులు కుప్పపై సృష్టించబడతాయి, ఇది వాస్తవానికి ప్రోగ్రామ్కు అంకితమైన మెమరీ యొక్క ఒక భాగం. చివరికి, కొన్ని వస్తువులు ఇకపై అవసరం లేదు. ది వ్యర్థాలు సేకరించువాడు ఉపయోగించని ఈ వస్తువులను కనుగొని, కొంత జ్ఞాపకశక్తిని ఖాళీ చేయడానికి వాటిని తొలగిస్తుంది.
- సిస్టమ్లో మెమరీని కేటాయించనప్పుడు మెమరీని డి-కేటాయింపు చేయని ప్రోగ్రామ్లు చివరికి విరిగిపోతాయి. ఈ ప్రోగ్రామ్లన్నింటిలో మెమరీ లీక్లు ఉన్నాయని చెబుతారు.
- జావాలో చెత్త సేకరణ ఒక ప్రోగ్రామ్ యొక్క జీవితకాలంలో స్వయంచాలకంగా జరుగుతుంది, ఇది మెమరీని కేటాయించవలసిన అవసరాన్ని తొలగిస్తుంది మరియు అందువల్ల మెమరీ లీక్లను నివారించవచ్చు.
- వంటి పద్ధతులు ఉచిత () సి మరియు తొలగించు () C ++ లో వాడతారు కాని, జావాలో, ఇది స్వయంచాలకంగా జరుగుతుంది. కాబట్టి, మెరుగైన మెమరీ నిర్వహణను అందిస్తుంది.
ఇప్పుడు, ఈ ఆటోమేటిక్ చెత్త సేకరణ జావాలో ఎలా పనిచేస్తుందో అర్థం చేసుకుందాం.
గమనిక : ఒక వస్తువు చేరుకోలేకపోతే చెత్త సేకరణకు అర్హత ఉందని చెబుతారు.
చెత్త సేకరణ ఎలా పని చేస్తుంది?
చెత్త సేకరణ అనేది హీప్ మెమరీతో పనిచేసే ప్రక్రియ గుర్తు లేదా చేరుకోలేని వస్తువులను గుర్తించి వాటిని సంపీడనంతో నాశనం చేయండి.
జావాలో చెత్త సేకరణ ఒక స్వయంచాలక ప్రక్రియ మరియు ప్రోగ్రామర్ తొలగించాల్సిన వస్తువులను స్పష్టంగా గుర్తించాల్సిన అవసరం లేదు. అమలు ప్రధానంగా నివసిస్తుంది . ప్రతి జెవిఎం చెత్త సేకరణను అమలు చేయగలదు. JVM స్పెసిఫికేషన్కు అనుగుణంగా ఉండాలి.
చాలా జెవిఎంలు అందుబాటులో ఉన్నప్పటికీ, ఒరాకిల్ హాట్స్పాట్ చెత్త సేకరణ ఎంపికల యొక్క బలమైన మరియు పరిణతి చెందిన సమితిని ఇది అందిస్తున్నందున ఇది చాలా సాధారణం.
- హాట్స్పాట్లో అనేక చెత్త సేకరించేవారు ఉన్నారు, ఇవి వివిధ ఉపయోగ కేసుల కోసం ఆప్టిమైజ్ చేయబడ్డాయి మరియు అన్ని చెత్త సేకరించేవారు ఒకే ప్రాథమిక విధానాన్ని అనుసరిస్తారు.
- మొదటి దశలో, ప్రస్తావించని వస్తువులు గుర్తించి చెత్త సేకరణకు సిద్ధంగా ఉన్నట్లు గుర్తించబడతాయి.
- రెండవ దశలో, గుర్తించబడిన వస్తువులు తొలగించబడతాయి. ఐచ్ఛికంగా, చెత్త సేకరించేవారు వస్తువులను తొలగించిన తర్వాత జ్ఞాపకశక్తిని కుదించవచ్చు, కాబట్టి మిగిలిన వస్తువులు కుప్ప ప్రారంభంలో ఒక పరస్పర బ్లాక్లో ఉంటాయి. ఇప్పటికే ఉన్న వస్తువులకు కేటాయించిన మెమరీ బ్లాక్ తర్వాత వరుసగా కొత్త వస్తువులకు మెమరీని కేటాయించడం సంపీడన ప్రక్రియ సులభతరం చేస్తుంది.
హాట్స్పాట్ యొక్క చెత్త సేకరించేవారందరూ వయస్సు ప్రకారం వస్తువులను వర్గీకరించే తరాల సేకరణ వ్యూహాన్ని అమలు చేస్తారు. తరాల చెత్త సేకరణ వెనుక ఉన్న కారణం ఏమిటంటే, చాలా వస్తువులు స్వల్పకాలికమైనవి మరియు సృష్టించిన వెంటనే చెత్త సేకరణకు సిద్ధంగా ఉంటాయి.
ఇప్పుడు వివిధ రకాల చెత్త సేకరించేవారు ఏమిటో చూద్దాం.
చెత్త కలెక్టర్ రకాలు
జెవిఎం నాలుగు వేర్వేరు చెత్త సేకరించేవారిని అందిస్తుంది, ఇవన్నీ తరానికి చెందినవి. ప్రతి దాని స్వంత ప్రయోజనాలు మరియు పరిమితులు ఉన్నాయి. ఏ చెత్త సేకరించేవారి ఎంపిక వినియోగదారుతో అబద్ధాలను ఉపయోగించాలో మరియు నిర్గమాంశ మరియు అనువర్తన విరామాలలో అనేక తేడాలు ఉండవచ్చు.
చెత్త సేకరించేవారిలో 4 రకాలు ఉన్నాయి.
- సీరియల్ గార్బేజ్ కలెక్టర్ (జిసి) :అన్ని చెత్త సేకరణ సంఘటనలు ఒకే థ్రెడ్లో సీరియల్గా నిర్వహించబడతాయి. ప్రతి చెత్త సేకరణ తర్వాత సంపీడనం అమలు చేయబడుతుంది.
- సమాంతర / నిర్గమాంశ GC: చిన్న / చిన్న చెత్త సేకరణ కోసం బహుళ దారాలను ఉపయోగిస్తారు. ప్రధాన చెత్త సేకరణ మరియు పాత తరం సంపీడనం కోసం ఒకే థ్రెడ్ ఉపయోగించబడుతుంది. అలాగే, సమాంతర వేరియంట్ ప్రధాన చెత్త సేకరణ మరియు ఓల్డ్ జనరేషన్ సంపీడనం కోసం బహుళ థ్రెడ్లను ఉపయోగిస్తుంది.
- CMS కలెక్టర్ :సమాంతర మాదిరిగానే అల్గోరిథం ఉపయోగించి చిన్న / చిన్న చెత్త సేకరణ కోసం బహుళ థ్రెడ్లు ఉపయోగించబడతాయి. చెత్త సేకరణలో ఎక్కువ భాగం బహుళ-థ్రెడ్, కానీ అనువర్తన సంఘటనలను తగ్గించడానికి అనువర్తన ప్రక్రియలతో పాటు CMS ఏకకాలంలో నడుస్తుంది. సంపీడనం జరగదు.
- జి 1 కలెక్టర్ :ఈ చెత్త సేకరించేవారు ప్రాథమికంగా CMS కు బదులుగా ఉద్దేశించబడింది. ఇది CMS లాగా సమాంతరంగా మరియు ఏకకాలంలో ఉంటుంది, అయితే ఇది పాత చెత్త సేకరించేవారితో పోల్చినప్పుడు చాలా భిన్నంగా పనిచేస్తుంది.
జావాలో చెత్త సేకరణ యొక్క ప్రయోజనాలను అర్థం చేసుకుందాం.
ప్రయోజనాలు
- జావా చెత్త సేకరణ యొక్క అతిపెద్ద ప్రయోజనం ఏమిటంటే అది స్వయంచాలకంగా తొలగింపును నిర్వహిస్తుంది మెమరీ వనరులను విడిపించడానికి ఉపయోగించలేని వస్తువులు లేదా కొన్ని వస్తువులు.
- చెత్త సేకరణ ఇప్పుడు అనేక ప్రసిద్ధ ప్రోగ్రామింగ్ భాషలలో కొత్త ప్రామాణిక భాగం.
- ఇది జావా మెమరీని సమర్థవంతంగా చేస్తుంది. ఎందుకంటే చెత్త సేకరించేవారు కుప్ప జ్ఞాపకశక్తి నుండి ప్రస్తావించని వస్తువులను తొలగిస్తారు.
- అది స్వయంచాలకంగా పూర్తయింది JVM లో భాగమైన చెత్త సేకరించేవారు.
ఉత్తమ పద్ధతులు
JVM లో జెండాలను అమర్చడం ద్వారా జావా చెత్త సేకరణకు అనుగుణంగా ఉత్తమమైన విధానం. ఉపయోగించాల్సిన చెత్త సేకరించేవారిని సర్దుబాటు చేసే సామర్థ్యం జెండాలకు ఉంది. చెత్త సేకరణకు ఎక్కువ విరామం ఆమోదయోగ్యమైన బ్యాకెండ్ ప్రాసెసింగ్కు ఇది ఉత్తమంగా సరిపోతుంది.
ఇక్కడ గమనించవలసిన మరో విషయం ఏమిటంటే, CMS చెత్త కలెక్టర్ విరామాలను తగ్గించడానికి రూపొందించబడింది, ఇది ప్రతిస్పందన చాలా ముఖ్యమైన GUI అనువర్తనాలకు అనువైనదిగా చేస్తుంది. కుప్ప లేదా దాని విభాగాల పరిమాణాన్ని మార్చడం మరియు చెత్త సేకరణ సామర్థ్యాన్ని కొలవడం ద్వారా అదనపు జరిమానా-ట్యూనింగ్ సాధించవచ్చు.
ఈ ప్రోగ్రామ్ను పరిశీలిద్దాం.
తరగతి ఎడురేకా {int a int b public void setData (int c, int d) {a = cb = d} public void showData () {System.out.println ('a =' + a యొక్క విలువ System.out.println . 4) e1.showData () e2.showData () // Edureka e3 // e3 = e2 //e3.showData () // e2 = null //e3.showData () // e3 = null //e3.showData ()}}
ఈ సందర్భంలో, రెండువస్తువులు మరియు రెండు రిఫరెన్స్ వేరియబుల్స్ సృష్టించబడతాయి. మీరు మరొక ఆదేశాన్ని జోడిస్తే e3 = Null,రెండు రిఫరెన్స్ వేరియబుల్స్ ఒకే వస్తువుకు సూచించబడతాయి. మరియు వేరియబుల్కు సూచన లేకపోతే, e3 = e2e3.showData () ఈ సమయంలో, వస్తువును సూచించే సూచనలు లేవు మరియు ఇది చెత్త సేకరణకు అర్హులు.
పట్టిక html లోపల పట్టిక
ఇది ఈ ‘జావాలోని చెత్త సేకరణ’ కథనం చివరికి మనలను తీసుకువస్తుంది. కుప్పలో ఉపయోగించని వస్తువులను మరియు వివిధ రకాల సేకరణలను ఎలా తొలగించాలో నేర్చుకున్నాము.
“జావాలో చెత్త సేకరణ” పై మీరు ఈ కథనాన్ని కనుగొంటే, చూడండి ప్రపంచవ్యాప్తంగా విస్తరించి ఉన్న 250,000 మందికి పైగా సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. మీ ప్రయాణంలో అడుగడుగునా మీకు సహాయం చేయడానికి మేము ఇక్కడ ఉన్నాము, జావా డెవలపర్గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించిన పాఠ్యాంశాలతో మేము ముందుకు వచ్చాము.
మాకు ప్రశ్న ఉందా? దయచేసి జావాలోని ఈ “చెత్త సేకరణ” లోని వ్యాఖ్యల విభాగంలో పేర్కొనండి ' మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.