7.1* సరైన చెత్త కలెక్టర్ను ఎలా ఎంచుకోవాలి
మీ అప్లికేషన్కు ఖచ్చితమైన జాప్యం ఆవశ్యకతలు లేకుంటే, మీరు అప్లికేషన్ను అమలు చేయాలి మరియు JVM నే సరైన కలెక్టర్ని ఎంచుకోవాలి.
చాలా సందర్భాలలో, డిఫాల్ట్ సెట్టింగ్లు బాగా పనిచేస్తాయి. అవసరమైతే, పనితీరును మెరుగుపరచడానికి మీరు కుప్ప పరిమాణాన్ని సర్దుబాటు చేయవచ్చు. పనితీరు ఇప్పటికీ ఆశించిన విధంగా లేకుంటే, మీ అప్లికేషన్ అవసరాలకు అనుగుణంగా కలెక్టర్ని సవరించడానికి ప్రయత్నించండి.
- సీక్వెన్షియల్ . అప్లికేషన్ చిన్న డేటా సెట్ను కలిగి ఉంటే (దాదాపు 100 MB వరకు) మరియు/లేదా అది ఎటువంటి జాప్యం అవసరాలు లేకుండా ఒకే ప్రాసెసర్లో రన్ అవుతుంది.
- సమాంతరంగా . ప్రాధాన్యత అప్లికేషన్ గరిష్ట పనితీరు మరియు జాప్యం అవసరాలు లేకుంటే (లేదా ఒక సెకను లేదా అంతకంటే ఎక్కువ విరామం ఆమోదయోగ్యమైనది).
- CMS/G1 . ప్రతిస్పందన సమయం మొత్తం నిర్గమాంశ కంటే ముఖ్యమైనది అయితే మరియు చెత్త సేకరణ పాజ్లు ఒక సెకను కంటే తక్కువగా ఉండాలి.
- ZGC . ప్రతిస్పందన సమయానికి అధిక ప్రాధాన్యత మరియు/లేదా చాలా పెద్ద కుప్ప చేరి ఉంటే.
7.2* చెత్త సేకరణకు సిఫార్సులు
మాన్యువల్ ట్రిగ్గర్లను నివారించండి
చెత్త సేకరణ యొక్క ప్రాథమిక విధానాలతో పాటు, జావాలో ఈ ప్రక్రియ గురించిన ముఖ్యమైన అంశాలలో ఒకటి ఇది నిర్ణయాత్మకమైనది కాదు. అంటే, రన్ టైమ్లో ఇది ఎప్పుడు జరుగుతుందో ఊహించడం అసాధ్యం.
System.gc() లేదా Runtime.gc() పద్ధతులను ఉపయోగించి, మీరు చెత్త సేకరణను ప్రారంభించడానికి మీ కోడ్లో సూచనను చేర్చవచ్చు, కానీ ఇది వాస్తవానికి అమలు చేయబడుతుందని ఇది హామీ ఇవ్వదు.
విశ్లేషణ సాధనాలను ఉపయోగించండి
మీ అప్లికేషన్ను అమలు చేయడానికి మీకు తగినంత మెమరీ లేకపోతే, మీరు స్లోడౌన్లు, ఎక్కువ కాలం చెత్త సేకరణ సమయాలు, "వరల్డ్ స్టాప్" ఈవెంట్లు మరియు చివరికి మెమరీలో లేని ఎర్రర్లను అనుభవిస్తారు. ఇది కుప్ప చాలా చిన్నదిగా ఉందని సూచించవచ్చు, కానీ అప్లికేషన్లో మెమరీ లీక్ ఉందని కూడా ఇది సూచించవచ్చు.
హీప్ వినియోగం నిరవధికంగా పెరుగుతుందో లేదో తెలుసుకోవడానికి మీరు jstat లేదా Java Flight Recorder వంటి పర్యవేక్షణ సాధనాన్ని ఉపయోగించవచ్చు, ఇది కోడ్లో బగ్ని సూచిస్తుంది.
డిఫాల్ట్ సెట్టింగ్లకు ప్రాధాన్యత ఇవ్వండి
మీకు చిన్న, స్వతంత్ర జావా అప్లికేషన్ ఉంటే, మీరు బహుశా చెత్త సేకరణను సెటప్ చేయాల్సిన అవసరం లేదు. డిఫాల్ట్ సెట్టింగ్లు మీకు బాగా ఉపయోగపడతాయి.
అనుకూలీకరించడానికి JVM ఫ్లాగ్లను ఉపయోగించండి
జావాలో చెత్త సేకరణను ఏర్పాటు చేయడానికి ఉత్తమ విధానం JVM జెండాలను అమర్చడం. చెత్త కలెక్టర్ను సెట్ చేయడానికి జెండాలను ఉపయోగించవచ్చు (ఉదాహరణకు, సీరియల్, G1 మరియు మొదలైనవి), కుప్ప యొక్క ప్రారంభ మరియు గరిష్ట పరిమాణం, కుప్ప విభజనల పరిమాణం (ఉదాహరణకు, యువ తరం, పాత తరం) మరియు చాలా మరింత.
సరైన కుళాయిని ఎంచుకోండి
ప్రారంభ సెట్టింగ్ల పరంగా మంచి మార్గదర్శకం అనుకూల అప్లికేషన్ యొక్క స్వభావం. ఉదాహరణకు, కాకరెంట్ గార్బేజ్ కలెక్టర్ సమర్థవంతంగా పని చేస్తుంది, కానీ తరచుగా "వరల్డ్ స్టాప్" ఈవెంట్లను పెంచుతుంది, దీర్ఘ విరామాలు ఆమోదయోగ్యమైన అంతర్గత ప్రాసెసింగ్కు ఇది మరింత అనుకూలంగా ఉంటుంది.
అదే సమయంలో, CMS గార్బేజ్ కలెక్టర్ జాప్యాన్ని తగ్గించడానికి రూపొందించబడింది, ఇది ప్రతిస్పందన ముఖ్యమైన వెబ్ అప్లికేషన్లకు అనువైనదిగా చేస్తుంది.
GO TO FULL VERSION