జావా మరియు దాని రకాల్లో క్లోనింగ్ అంటే ఏమిటి?



జావాలో క్లోనింగ్ గురించి ఈ వ్యాసం మీకు క్లోనింగ్ ప్రక్రియ మరియు జావా చేత మద్దతు ఇవ్వబడిన వివిధ రకాల క్లోనింగ్ గురించి వివరణాత్మక అంతర్దృష్టిని ఇస్తుంది.

ప్రోగ్రామింగ్ చేస్తున్నప్పుడు, తరచుగా మనం పూర్తి కోడ్‌ను తిరిగి ఉపయోగించాల్సిన దృశ్యాలను చూస్తాము. కోడ్‌ను తిరిగి వ్రాయడం వల్ల ప్రోగ్రామ్ స్థూలంగా ఉంటుంది, ప్రోగ్రామ్ యొక్క సామర్థ్యాన్ని తగ్గిస్తుంది. అందువల్ల, జావా మాకు ఒక అద్భుతమైన లక్షణాన్ని అందిస్తుంది, ఇది ఈ భారమైన పని నుండి రక్షించబడుతుంది. దీనిని జావాలో క్లోనింగ్ అని పిలుస్తారు మరియు ఈ వ్యాసం యొక్క మాధ్యమం ద్వారా, నేను మీకు పూర్తి అవగాహన ఇస్తాను.

లైనక్స్‌లో హడూప్‌ను ఎలా ఇన్‌స్టాల్ చేయాలి

ఈ వ్యాసంలో నేను చర్చించబోయే విషయాలు క్రింద ఉన్నాయి:





జావాలో క్లోనింగ్

జావాలో ఆబ్జెక్ట్ క్లోనింగ్ అసలు వస్తువు యొక్క ఖచ్చితమైన కాపీని సృష్టించే ప్రక్రియ. మరో మాటలో చెప్పాలంటే, అసలు వస్తువు నుండి మొత్తం డేటా మరియు లక్షణాలను కాపీ చేయడం ద్వారా కొత్త వస్తువును సృష్టించే మార్గం ఇది. యొక్క క్లోన్ () పద్ధతిని అమలు చేయడం ద్వారా మాత్రమే ఇది సాధ్యమవుతుంది java.lang.Object తరగతి. క్లోన్ పద్ధతి ఒక వస్తువు యొక్క ఖచ్చితమైన కాపీని సృష్టిస్తుందిఫీల్డ్-బై-ఫీల్డ్ అసైన్‌మెంట్ క్రమంలో ప్రారంభించబడింది మరియు క్రొత్త ఆబ్జెక్ట్ రిఫరెన్స్‌ను అందిస్తుంది . మీరు గుర్తుంచుకోవలసిన ఒక విషయం, జావాలో, మార్కర్ ఇంటర్ఫేస్ అయిన క్లోన్ ఇంటర్ఫేస్ను అమలు చేసే వస్తువులు క్లోన్ () ను ఉపయోగించడానికి అనుమతించబడతాయి.

జావాలో క్లోనింగ్ ఏమిటో ఇప్పుడు మీకు తెలుసు, ఈ లక్షణాన్ని ఉపయోగించడం వల్ల వివిధ ప్రయోజనాలు చూద్దాం.



జావాలో క్లోనింగ్ యొక్క ప్రయోజనాలు

జావాలో క్లోనింగ్ ఉపయోగించడం యొక్క కొన్ని చమత్కార లక్షణాలను నేను క్రింద జాబితా చేసాను.

  • కోడ్ యొక్క పంక్తులను తగ్గించడంలో సహాయపడుతుంది.
  • కాపీ చేయడానికి అత్యంత ప్రభావవంతమైన మరియు సమర్థవంతమైన మార్గంవస్తువులు.
  • అలాగే, క్లోన్ () శ్రేణిని కాపీ చేయడానికి వేగవంతమైన పద్ధతిగా పరిగణించబడుతుంది.

గమనిక: క్లోనింగ్ ఉపయోగించడం వల్ల కొన్ని డిజైన్ సమస్యలు వస్తాయి, కానీ మీరు దానిని సరైన వ్యూహాత్మక పద్ధతిలో ఉపయోగిస్తే అది మీకు ప్రయోజనం చేకూరుస్తుంది.

జావాలో క్లోనింగ్ రకాలు

జావాలో క్లోనింగ్‌ను సమూహపరచవచ్చురెండు వర్గాలుగా:



  1. నిస్సార క్లోనింగ్
  2. డీప్ క్లోనింగ్

ప్రతి ఒక్కటి ఒక్కొక్కటిగా అర్థం చేసుకుందాం.

నిస్సార క్లోనింగ్

జావాలో, క్లోన్ () పద్ధతిని ప్రారంభించడం ద్వారా క్లోనింగ్ ప్రక్రియ పూర్తయినప్పుడు దానిని షాలో క్లోనింగ్ అంటారు. ఇది జావాలో డిఫాల్ట్ క్లోనింగ్ ప్రక్రియ, ఇక్కడ అసలు వస్తువు యొక్క నిస్సార కాపీ ఖచ్చితమైన ఫీల్డ్‌తో సృష్టించబడుతుంది. ఒకవేళ అసలు వస్తువు కొన్ని ఇతర వస్తువులను క్షేత్రాలుగా సూచిస్తే, ఆ వస్తువు యొక్క సూచనలు మాత్రమే క్రొత్త వస్తువు సృష్టికి బదులుగా క్లోన్ చేయబడతాయి. మరో మాటలో చెప్పాలంటే, మీరు క్లోన్ చేసిన వస్తువుల విలువను మార్చినట్లయితే అది అసలులో కూడా ప్రతిబింబిస్తుంది. అందువలన, నిస్సార క్లోనింగ్ అసలు వస్తువుపై ఆధారపడి ఉంటుంది.

నిస్సార కాపీ - జావాలో క్లోనింగ్ - ఎడురేకాక్రింద నేను అదే ఉదాహరణ ఇచ్చాను:

ప్యాకేజీ ఎడురేకా క్లాస్ ఎడ్యూకోర్స్ {స్ట్రింగ్ కోర్సు 1 స్ట్రింగ్ కోర్సు 2 స్ట్రింగ్ కోర్సు 3 పబ్లిక్ ఎడకోర్స్ (స్ట్రింగ్ సిఆర్ఎస్ 1, స్ట్రింగ్ సిఆర్ఎస్ 2, స్ట్రింగ్ సిఆర్ఎస్ 3) {this.course1 = crs1 this.course2 = crs2 this.course3 = crs3}} క్లాస్ ఎడ్యులెర్నర్ క్లోన్ చేయదగిన {int eduNd EduCourse eduCourse public EduLearner (int eduId, String learnnerName, EduCourse eduCourse) {this.eduId = eduId this.learnerName = learnnerName this.eduCourse = eduCourse} // క్లోన్ యొక్క డిఫాల్ట్ వెర్షన్ () పద్ధతి రక్షిత ఆబ్జెక్ట్ క్లోన్ () రిటర్న్ సూపర్నోక్స్ .క్లోన్ ()}} పబ్లిక్ క్లాస్ షాలోక్లోన్సాంపుల్ {పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [] అర్గ్స్) {ఎడుకోర్స్ j2ee = కొత్త ఎడ్యూకోర్స్ ('జావా', 'స్ప్రింగ్', 'మైక్రోసర్వీసెస్') ఎడ్యులెర్నర్ లెర్నర్ 1 = కొత్త ఎడ్యులెర్నర్ (2811, 'మాక్స్' , j2ee) ఎడులెర్నర్ లెర్నర్ 2 = శూన్య ప్రయత్నం {// లెర్నర్ 1 యొక్క క్లోన్‌ను సృష్టించి, దానిని లెర్నర్ 2 లెర్నర్ 2 = (ఎడ్యులెర్నర్) లెర్నర్ 1.క్లోన్ ()} క్యాచ్ (క్లోన్నోట్సపోర్టెడ్ ఎక్సెప్షన్ ఇ) {ఇ.ప్రింట్‌స్టాక్‌ట్రేస్ ()} // లెర్నింగ్ 1 యొక్క ప్రింటింగ్ వివరాలు System.out.p rintln ('లెర్నర్ 2 యొక్క వివరాలు:') System.out.println ('Id:' + learner1.eduId) System.out.println ('పేరు:' + learnner1.learnerName) System.out.println ('కోర్సు ఐడి: '+ Learner1.eduCourse) //' learn1 'System.out.println (' లెర్నర్ 1 యొక్క కోర్సులు: ') System.out.println (learnner1.eduCourse.course1) System.out.println (learn1) యొక్క అన్ని కోర్సులను ముద్రించడం. eduCourse.course2) System.out.println (Learner1.eduCourse.course3) // లెర్నర్ 2 యొక్క ప్రింటింగ్ వివరాలు System.out.println ('లెర్నర్ 2 యొక్క వివరాలు:') System.out.println ('Id:' + learner2.eduId ) System.out.println ('పేరు:' + Learner2.learnerName) System.out.println ('కోర్సు ఐడి:' + లెర్నర్ 2.ఎడకోర్స్) // 'లెర్నర్ 2' సిస్టమ్.అవుట్.ప్రింట్ల్న్ ('కోర్సులు యొక్క లెర్నర్ 2: ') System.out.println (Learner2.eduCourse.course1) System.out.println (learnner2.eduCourse.course2) System.out.println (learnner2.eduCourse.course3) //' learn2 2 యొక్క కోర్సు 3 ని మార్చడం 'learnner2.eduCourse.course3 =' JSP '// ఈ మార్పు అసలు' అభ్యాసకుడు 1 'System.out.println (' లెర్నర్ 2 యొక్క నవీకరించబడిన కోర్సులు: ') System.out.println (Learner1.eduCourse.course1) System.out.println (Learner1.eduCourse.course2) System.out.println (learnner1.eduCourse.course3)}}

అవుట్పుట్:

లెర్నర్ 2 యొక్క వివరాలు: ఐడి: 2811 పేరు: మాక్స్ కోర్సు ఐడి: ఎడుకోర్స్ d 15 డిబి 9742 లెర్నర్ కోర్సులు 1: జావా స్ప్రింగ్ మైక్రోసర్వీస్ లెర్నర్ 2: ఐడి: 2811 పేరు: మాక్స్ కోర్సు ఐడి: ఎడకోర్స్ @ 15 డిబి 9742 లెర్నర్ 2 కోర్సులు: జావా స్ప్రింగ్ మైక్రోసర్వీస్ లెర్నర్ 2 యొక్క నవీకరించబడిన కోర్సులు: జావా స్ప్రింగ్ JSP

జావాలో డీప్ క్లోనింగ్

జావాలో, క్లోనబుల్ ఇంటర్ఫేస్ను అమలు చేయడం ద్వారా క్లోనింగ్ ప్రక్రియ పూర్తయినప్పుడు దీనిని డీప్ క్లోనింగ్ అంటారు. ఈ రకమైన క్లోనింగ్‌లో, అసలు వస్తువు యొక్క అన్ని ఫీల్డ్‌ల యొక్క ఖచ్చితమైన కాపీ సృష్టించబడుతుంది. ఒకవేళ, అసలు వస్తువు ఇతర వస్తువులను క్షేత్రాలుగా సూచిస్తుంది, అప్పుడు క్లోన్ () పద్ధతిని పిలవడం ద్వారా ఆ వస్తువుల కాపీ కూడా సృష్టించబడుతుంది. ఇది క్లోన్ చేసిన వస్తువును అసలు వస్తువు నుండి స్వతంత్రంగా చేస్తుంది మరియు ఏదైనా వస్తువులో చేసిన మార్పులు మరొకటి ప్రతిబింబించవు.

క్రింద నేను అదే ఉదాహరణ ఇచ్చాను:

ప్యాకేజీ ఎడ్యూరెకా క్లాస్ ఎడ్యూకోర్స్ క్లోన్ చేయదగిన {స్ట్రింగ్ కోర్సు 1 స్ట్రింగ్ కోర్సు 2 స్ట్రింగ్ కోర్సు 3 పబ్లిక్ ఎడకోర్స్ (స్ట్రింగ్ crs1, స్ట్రింగ్ crs2, స్ట్రింగ్ crs3) {this.course1 = crs1 this.course2 = crs2 this.course3 = crs3} రక్షిత ఆబ్జెక్ట్ క్లోన్ () CloneNotSupp rows రిటర్న్ సూపర్.క్లోన్ ()}} క్లాస్ ఎడులెర్నర్ క్లోనబుల్ {int eduId స్ట్రింగ్ లెర్నర్ నేమ్ ఎడ్యూకోర్స్ ఎడ్యూకోర్స్ పబ్లిక్ ఎడ్యులెర్నర్ (int eduId, స్ట్రింగ్ లెర్నర్ నేమ్, ఎడ్యూకోర్స్ ఎడ్యూకోర్స్) {this.eduId = eduId this.learnerName = learn_ our our our our our our ఆబ్జెక్ట్ ప్రొటెక్టెడ్ ఆబ్జెక్ట్ క్లోన్ () యొక్క లోతైన కాపీని సృష్టించడానికి క్లోన్ () పద్ధతిని భర్తీ చేస్తుంది డీప్‌క్లోన్‌సాంపిల్ {పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ [] అర్గ్స్) {ఎడుకోర్స్ j2ee = కొత్త ఎడుకోర్స్ ('జావా', 'స్ప్రింగ్', 'మైక్రోసర్వీసెస్') ఎడ్యులెర్నర్ లెర్నర్ 1 = కొత్త ఎడ్యులెర్నర్ (2811, 'మాక్స్', జె 2ee) ఎడ్యులెర్నర్ నేర్చుకోండి er2 = null try {// లెర్నర్ 1 యొక్క క్లోన్‌ను సృష్టించి, దానిని లెర్నర్ 2 లెర్నర్ 2 = (ఎడ్యులెర్నర్) లెర్నర్ 1.క్లోన్ ()} క్యాచ్ (క్లోన్నోట్సపోర్టెడ్ ఎక్సెప్షన్ ఇ) {ఇ.ప్రింట్‌స్టాక్‌ట్రేస్ ()} // లెర్నర్ 1 సిస్టమ్.అవుట్ యొక్క ప్రింటింగ్ వివరాలు. println ('లెర్నర్ 2 యొక్క వివరాలు:') System.out.println ('Id:' + learner1.eduId) System.out.println ('పేరు:' + Learner1.learnerName) System.out.println ('కోర్సు ఐడి: '+ Learner1.eduCourse) //' learn1 'System.out.println (' లెర్నర్ 1: 'కోర్సులు) యొక్క అన్ని కోర్సులను ముద్రించడం. System.out.println (Learner1.eduCourse.course1) System.out.println (learn1). eduCourse.course2) System.out.println (Learner1.eduCourse.course3) // లెర్నర్ 2 యొక్క ప్రింటింగ్ వివరాలు System.out.println ('లెర్నర్ 2 యొక్క వివరాలు:') System.out.println ('Id:' + learner2.eduId ) System.out.println ('పేరు:' + Learner2.learnerName) System.out.println ('కోర్సు ఐడి:' + లెర్నర్ 2.ఎడకోర్స్) // 'లెర్నర్ 2' సిస్టమ్.అవుట్.ప్రింట్ల్న్ ('కోర్సులు లెర్నర్ 2: ') System.out.println (learnner2.eduCourse.course1) System.out.printl n (Learner2.eduCourse.course2) System.out.println (Learner2.eduCourse.course3) // 'learn2' యొక్క కోర్సు 3 ని మార్చడం learnner2.eduCourse.course3 = 'JSP' // ఈ మార్పు అసలు ప్రతిబింబించదు ' Learner1 'System.out.println (' లెర్నర్ 1 యొక్క కోర్సులు: ') System.out.println (learnner1.eduCourse.course1) System.out.println (Learner1.eduCourse.course2) System.out.println (learnner1.eduCourse. course3) // లెర్నర్ 2 యొక్క నవీకరించబడిన కోర్సులు System.out.println ('లెర్నర్ 2 యొక్క కోర్సులు:') System.out.println (learnner2.eduCourse.course1) System.out.println (learnner2.eduCourse.course2) System.out. println (learnner2.eduCourse.course3)}}

అవుట్పుట్:

లెర్నర్ 2 యొక్క వివరాలు: ఐడి: 2811 పేరు: మాక్స్ కోర్సు ఐడి: edureka.EduCourse@15db9742 లెర్నర్ యొక్క కోర్సులు 1: జావా స్ప్రింగ్ మైక్రోసర్వీస్ లెర్నర్ యొక్క వివరాలు 2: ఐడి: 2811 పేరు: మాక్స్ కోర్సు ఐడి: edureka.EduCourse@6d06d69c లెర్నర్ 2 యొక్క కోర్సులు : జావా స్ప్రింగ్ మైక్రోసర్వీస్ కోర్సులు 1: జావా స్ప్రింగ్ మైక్రోసర్వీస్ కోర్సులు 2: జావా స్ప్రింగ్ జెఎస్‌పి

ఇది జావాలో క్లోనింగ్ గురించి ఈ వ్యాసం చివర మనలను తీసుకువస్తుంది. మీరు జావా గురించి మరింత తెలుసుకోవాలంటే మీరు మా చూడండి .

జావాలో క్లోనింగ్ అంటే ఏమిటో ఇప్పుడు మీరు అర్థం చేసుకున్నారు, చూడండి ప్రపంచవ్యాప్తంగా 250,000 కంటే ఎక్కువ సంతృప్తికరమైన అభ్యాసకుల నెట్‌వర్క్‌తో విశ్వసనీయ ఆన్‌లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు జావా డెవలపర్‌గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించబడింది. ఈ కోర్సు మీకు జావా ప్రోగ్రామింగ్‌లోకి రావడానికి మరియు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్‌వర్క్‌లతో పాటు కోర్ మరియు అడ్వాన్స్‌డ్ జావా కాన్సెప్ట్‌ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.

మాకు ప్రశ్న ఉందా? దయచేసి ఈ “జావాలో క్లోనింగ్” వ్యాసంలోని వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.