C # లో పారవేయడం () మరియు ఖరారు () మధ్య తేడా
విషయము
పద్ధతులు పారవేయడం () మరియు ఖరారు () అనేది సి # యొక్క పద్ధతులు, ఇవి ఒక వస్తువు వద్ద నిర్వహించని వనరులను విడిపించేందుకు ఉపయోగించబడతాయి. పారవేయడం () పద్ధతి ఇంటర్ఫేస్ ఐడిస్పోజబుల్ లోపల నిర్వచించబడింది, అయితే పద్ధతి ఆబ్జెక్ట్ () క్లాస్ ఆబ్జెక్ట్ లోపల నిర్వచించబడింది. పారవేయడం () మరియు ఖరారు () మధ్య ప్రధాన వ్యత్యాసం పద్ధతి పారవేయాలని() వినియోగదారు స్పష్టంగా పేర్కొనవలసి ఉంటుంది, అయితే పద్ధతి ఖరారు () వస్తువు నాశనం కావడానికి ముందే చెత్త సేకరించేవారు దీనిని ప్రారంభిస్తారు. క్రింద చూపిన పోలిక చార్ట్ సహాయంతో వాటి మధ్య కొన్ని ఇతర తేడాలను అధ్యయనం చేద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | పారవేయండి () | ఖరారు () |
---|---|---|
నిర్వచిత | పారవేయడం పద్ధతి () ఇంటర్ఫేస్ IDisposable ఇంటర్ఫేస్లో నిర్వచించబడింది. | ఈ పద్ధతి java.lang.object క్లాస్లో నిర్వచించిన () ఐడిని ఖరారు చేస్తుంది. |
సింటాక్స్ | పబ్లిక్ శూన్యత పారవేయండి () { // కోడ్ను ఇక్కడ పారవేయండి } | రక్షిత శూన్యత ఖరారు () { // ఇక్కడ ఫైనలైజేషన్ కోడ్ } |
ఆవాహన | పారవేయడం () పద్ధతి వినియోగదారుచే ప్రారంభించబడుతుంది. | పద్ధతి ఫైనలైజ్ () ను చెత్త సేకరించేవారు ప్రారంభిస్తారు. |
పర్పస్ | నిర్వహించని వనరులను ఆరంభించినప్పుడల్లా విడిపించడానికి మెథడ్ డిస్పోజ్ () ఉపయోగించబడుతుంది. | ఆబ్జెక్ట్ నాశనం కావడానికి ముందు నిర్వహించని వనరులను విడిపించేందుకు మెథడ్ ఫైనలైజ్ () ఉపయోగించబడుతుంది. |
అమలు | క్లోజ్ () పద్ధతి ఉన్నప్పుడల్లా పారవేయడం () ను అమలు చేయాలి. | నిర్వహించని వనరుల కోసం ఫైనలైజ్ () పద్ధతిని అమలు చేయాలి. |
ప్రాప్యత స్పెసిఫైయర్ | పారవేయడం () ను పబ్లిక్ గా ప్రకటించారు. | పద్ధతి ఖరారు చేసే పద్ధతి ప్రైవేట్గా ప్రకటించబడింది. |
యాక్షన్ | పారవేసే పద్ధతి () వేగంగా ఉంటుంది మరియు తక్షణమే ఒక వస్తువును పారవేస్తుంది. | పారవేయడంతో పోలిస్తే ఖరారు చేసే పద్ధతి నెమ్మదిగా ఉంటుంది |
ప్రదర్శన | పద్ధతి తొలగిస్తుంది () తక్షణ చర్యను చేస్తుంది, అందువల్ల వెబ్సైట్ల పనితీరును ప్రభావితం చేయదు. | పద్ధతి ఖరారు () నెమ్మదిగా ఉండటం వెబ్సైట్ల పనితీరును ప్రభావితం చేస్తుంది. |
పారవేయడం యొక్క నిర్వచనం ()
పారవేయడం () పద్ధతి తరగతి యొక్క ఒక వస్తువు చేత నిర్వహించబడని వనరులను విడుదల చేస్తుంది. నిర్వహించని వనరులు ఫైళ్లు, డేటా కనెక్షన్లు మొదలైనవి. పారవేయడం () ఇంటర్ఫేస్లో ప్రకటించబడుతుంది IDisposeable మరియు IDisposable ఇంటర్ఫేస్ను అమలు చేయడం ద్వారా తరగతి చేత ఇది అమలు చేయబడుతుంది. ఈ పద్ధతి స్వయంచాలకంగా పిలువబడదు. మీరు ఇతరులు ఉపయోగించే కస్టమ్ క్లాస్ని సృష్టిస్తున్నప్పుడు ప్రోగ్రామర్ దీన్ని మాన్యువల్గా అమలు చేయాలి. పద్ధతి క్రింది వాక్యనిర్మాణాన్ని కలిగి ఉంది:
public void dispose () {// కోడ్ను ఇక్కడ పారవేయండి}
పై వాక్యనిర్మాణంలో, ఈ పద్ధతి పబ్లిక్గా ప్రకటించబడిందని మీరు గమనించవచ్చు. ఐడిస్పోజబుల్ ఇంటర్ఫేస్లో ఈ పద్ధతి నిర్వచించబడినందున మరియు ఈ ఇంటర్ఫేస్ను అమలు చేసే తరగతి చేత ఇది అమలు చేయబడాలి. కాబట్టి, అమలు చేసే తరగతికి ప్రాప్యతను అందించడానికి, ఈ పద్ధతిని పబ్లిక్గా ప్రకటించారు.
ఈ పద్ధతి ప్రోగ్రామ్ యొక్క కోడ్ ద్వారా మానవీయంగా అమలు చేయబడుతుంది, ఎందుకంటే ఇది అమలు చేయడానికి అమలు చేయబడుతుంది. పద్ధతుల పనితీరు వేగంగా ఉంటుంది మరియు ఇది తరగతి యొక్క వస్తువు వద్ద ఉన్న వనరులను తక్షణమే విముక్తి చేస్తుంది.
ఖరారు యొక్క నిర్వచనం ()
ఫైనలైజ్ () పద్ధతి నిర్వచించబడింది ఆబ్జెక్ట్ తరగతి. ఇది శుభ్రపరిచే కార్యకలాపాలకు ఉపయోగించబడుతుంది. ఒక వస్తువు యొక్క సూచన ఎక్కువ కాలం ఉపయోగించనప్పుడు ఈ పద్ధతిని చెత్త సేకరించేవారు పిలుస్తారు. చెత్త సేకరించేవారు నిర్వహించే వనరులను స్వయంచాలకంగా విముక్తి చేస్తారు, కాని మీరు ఫైల్ హ్యాండిల్, డేటా కనెక్షన్ వంటి నిర్వహించని వనరులను విడిపించాలనుకుంటే, ఖరారు చేసే పద్ధతి మానవీయంగా అమలు చేయాలి. చెత్త సేకరించేవారు వస్తువును పూర్తిగా నాశనం చేయడానికి ముందే () ను ఖరారు చేస్తారు.
పద్ధతి యొక్క వాక్యనిర్మాణం ఖరారు చేస్తుంది ():
రక్షిత శూన్య ఫైనలైజ్ () {// ఫైనలైజేషన్ కోడ్ ఇక్కడ}
పై వాక్యనిర్మాణంలో, పద్ధతి ఖరారు () రక్షితంగా ప్రకటించబడింది. దీని వెనుక ఉన్న కారణం ఏమిటంటే, ఫైనలైజ్ చేసే పద్ధతి () తరగతి వెలుపల నుండి ప్రాప్యత చేయకూడదు మరియు ఇది చెత్త సేకరించేవారికి మాత్రమే అందుబాటులో ఉండాలి.
ఫైనలైజ్ () పద్ధతి పనితీరు యొక్క వ్యయాన్ని ప్రభావితం చేస్తుంది, ఎందుకంటే ఇది మెమరీని తక్షణమే విడుదల చేయదు. సి # లో ఫైనలైజ్ పద్ధతిని డిస్ట్రక్టర్లతో స్వయంచాలకంగా పిలుస్తారు.
- పారవేయడం () పద్ధతి ఇంటర్ఫేస్లో నిర్వచించబడింది IDisposable. మరోవైపు, తరగతి () ను ఖరారు చేసే పద్ధతి నిర్వచించబడింది ఆబ్జెక్ట్.
- పద్దతి పారవేయడం () ను ప్రోగ్రామర్ చేత కోడ్ లోపల మాన్యువల్గా ఇన్వోక్ చేయాలి, అయితే ఫైనలైజ్ చేసే పద్ధతి వస్తువును నాశనం చేసే ముందు చెత్త సేకరించేవాడు స్వయంచాలకంగా ప్రారంభించబడుతుంది.
- పారవేయడం పద్దతిని ఎప్పుడైనా ప్రారంభించవచ్చు, అయితే ఆ వస్తువును ఎక్కువ కాలం ప్రస్తావించలేదని కనుగొన్నప్పుడు చెత్త సేకరించేవారు ఈ పద్ధతిని ఖరారు చేస్తారు.
- ఐడిస్పోజబుల్ ఇంటర్ఫేస్ను అమలు చేసిన తరువాత ఒక తరగతిలో పారవేయడం () పద్దతి అమలు చేయబడుతుంది. ఫైనలైజ్ చేసే పద్ధతి () కోసం మాత్రమే అమలు చేయాలి నిర్వహించని వనరులు ఎందుకంటే నిర్వహించబడే వనరులు చెత్త సేకరించేవారిచే స్వయంచాలకంగా విముక్తి పొందుతాయి.
- పారవేయడం () యొక్క యాక్సెస్ స్పెసిఫైయర్ పబ్లిక్గా ఉంది, ఎందుకంటే ఇది ఇంటర్ఫేస్ ఐడిస్పోజబుల్లో నిర్వచించబడింది మరియు ఈ ఇంటర్ఫేస్ను అమలు చేసే తరగతి చేత ఇది అమలు చేయబడుతుంది, కనుక ఇది పబ్లిక్గా ఉండాలి. మరోవైపు, పద్ధతి ఫైనలైజ్ () రక్షిత యాక్సెస్ స్పెసిఫైయర్ను కలిగి ఉంది, తద్వారా ఇది తరగతి వెలుపల ఏ సభ్యునికి అందుబాటులో ఉండకూడదు.
- పారవేసే పద్ధతి () వేగంగా ఉంటుంది మరియు వస్తువును తక్షణమే విముక్తి చేస్తుంది, ఇది పనితీరు వ్యయాన్ని ప్రభావితం చేయదు. పద్ధతి ఖరారు చేసే పద్ధతి నెమ్మదిగా ఉంటుంది మరియు వస్తువు వద్ద ఉన్న వనరులను తక్షణమే విడుదల చేయదు.
ముగింపు:
ఫైనలైజ్ కంటే వేగంగా ఉన్నందున పద్ధతి ఫైనలైజ్ () పై మెథడ్ డిస్పోజ్ () ను ఉపయోగించమని సూచించబడింది. అలాగే, అవసరమైనప్పుడు ఎప్పుడైనా పిలుస్తారు.