ఐటి పరిశ్రమలో భాష చాలా కాలం నుండి దిగ్గజం. ఇది మిగతా ప్రోగ్రామింగ్ భాషల కంటే మెరుగైన కొన్ని అగ్రశ్రేణి భావనలను కలిగి ఉంది. అలాంటి ఒక భావన జావా వర్చువల్ మిషన్, ఈ వ్యాసంలో, దాని యొక్క వివిధ కోణాల గురించి తెలుసుకుంటాము వర్చువల్ మెషిన్ వివరంగా. ఈ బ్లాగులో చర్చించిన విషయాలు క్రిందివి:
- జావా వర్చువల్ మెషిన్ అంటే ఏమిటి?
- మాకు జావా వర్చువల్ మెషిన్ ఎందుకు అవసరం?
- జావా వర్చువల్ మెషిన్ ఆర్కిటెక్చర్
- అమలు ప్రక్రియ
- JDK, JRE మరియు JVM మధ్య వ్యత్యాసం
జావా వర్చువల్ మెషిన్ అంటే ఏమిటి?
జావా వర్చువల్ మెషీన్ అనేది ప్లాట్ఫామ్-స్వతంత్ర నైరూప్య యంత్రం, ఇది రన్టైమ్ వాతావరణాన్ని అందిస్తుంది, దీనిలో జావా బైట్ కోడ్ అమలు అవుతుంది.
ఇది జావా రన్టైమ్ వాతావరణంలో ఒక భాగం, ఇది జావా బైట్కోడ్ను యంత్ర-చదవగలిగే భాషగా మారుస్తుంది. ముఖ్యమైన మేము జావా ప్రోగ్రామ్లో ఉన్నదాన్ని వాస్తవానికి జావా వర్చువల్ మిషన్ అంటారు.
మాకు జావా వర్చువల్ మెషిన్ ఎందుకు అవసరం?
జావాతో సంబంధం ఉన్న ఏదైనా అభివృద్ధికి ఇది చాలా అవసరమయ్యే పనుల కోసం మాకు జావా వర్చువల్ మెషీన్ అవసరం. జావా వర్చువల్ మెషీన్ చేసే కొన్ని పనులు క్రిందివి.
- కోడ్ను లోడ్ చేస్తుంది
- కోడ్ ధృవీకరణ
- కోడ్ అమలు
- ఇది అనువర్తనాల కోసం రన్-టైమ్ వాతావరణాన్ని అందిస్తుంది
- మెమరీ ప్రాంతం
- రిజిస్టర్ సెట్
- చెత్త సేకరణ కుప్పను అందిస్తుంది
- ప్రాణాంతక లోపాల రిపోర్టింగ్
- అందిస్తుంది తరగతి ఫైల్ ఫార్మాట్
ఈ అన్ని కార్యకలాపాలతో, జావా వర్చువల్ మెషీన్ జావా అభివృద్ధిలో అంతర్భాగం. జావా వర్చువల్ మెషిన్ ఆర్కిటెక్చర్ సహాయంతో ఇది ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం.
జావా వర్చువల్ మెషిన్ ఆర్కిటెక్చర్
జావా వర్చువల్ మెషిన్ ఆర్కిటెక్చర్ చాలా సులభం, దీనికి మెమరీ ఏరియా, క్లాస్ లోడర్ మరియు ఇతర భాగాలలో ఎగ్జిక్యూషన్ ఇంజన్ ఉన్నాయి. వాటిలో ప్రతిదాన్ని వివరంగా చర్చిద్దాం.
క్లాస్లోడర్
ఇది క్లాస్ ఫైళ్ళను లోడ్ చేయడానికి ఉపయోగించే ఉపవ్యవస్థ. మేము జావాలో ఒక ప్రోగ్రామ్ను నడుపుతున్నప్పుడల్లా, అది మొదట క్లాస్లోడర్ చేత లోడ్ అవుతుంది. ప్రధాన ఫంక్షన్లో ప్రారంభించడం, లింక్ చేయడం మరియు లోడ్ అవుతోంది. జావాలో అంతర్నిర్మిత క్లాస్లోడర్లు క్రిందివి.
c ++ ఫైబొనాక్సీ పునరావృత
బూట్స్ట్రాప్ క్లాస్లోడర్ - ఇది rt.jar ఫైల్ను లోడ్ చేసే ఎక్స్టెన్షన్ క్లాస్లోడర్ యొక్క సూపర్ క్లాస్.
పొడిగింపు క్లాస్లోడర్ - ఇది డైరెక్టరీలో ఉన్న కూజా ఫైళ్ళను లోడ్ చేస్తుంది.
సిస్టమ్ / అప్లికేషన్ క్లాస్లోడర్ - ఇది క్లాస్పాత్ నుండి క్లాస్ఫైల్లను లోడ్ చేస్తుంది.
ఆపరేషన్ లోడ్ అవుతోంది - మొదట క్లాస్లోడర్ .క్లాస్ ఫైల్లను లోడ్ చేస్తుంది మరియు సంబంధిత డేటాను బైనరీ ఫార్మాట్లో ఉత్పత్తి చేస్తుంది, ఇది పద్ధతి ప్రాంతంలో సేవ్ చేయబడుతుంది.
లింకింగ్ ఆపరేషన్ - లోడ్ చేసిన తర్వాత అది సిద్ధం చేస్తుంది, ధృవీకరిస్తుంది మరియు రిజల్యూషన్ చేస్తుంది. JVM క్లాస్ వేరియబుల్స్ కోసం మెమరీని కేటాయిస్తుంది మరియు మెమరీని డిఫాల్ట్ విలువలకు ప్రారంభిస్తుంది. ఇది .క్లాస్ ఫైల్ యొక్క ఖచ్చితత్వాన్ని నిర్ధారిస్తుంది మరియు ధృవీకరణ విఫలమైనప్పుడు, మనకు రన్టైమ్ మినహాయింపు లోపం వస్తుంది.
ప్రారంభించడం - ఈ దశలో కోడ్ బ్లాక్లో నిర్వచించిన వాటి విలువలతో అన్ని స్టాటిక్ వేరియబుల్స్ కేటాయించబడతాయి.
జెవిఎం మెమరీ
విధానం ప్రాంతం - ఇది కోడ్, ఫీల్డ్ డేటా, రన్టైమ్ స్థిరమైన పూల్, మెథడ్ డేటా మొదలైన ప్రతి తరగతికి సంబంధించిన నిర్మాణాలను నిల్వ చేస్తుంది.
కుప్ప - కుప్పలో రన్టైమ్లో వస్తువులు కేటాయించబడతాయి.
JVM భాషా స్టాక్స్ - ఇది స్థానిక వేరియబుల్స్ మరియు ఫలితాలను నిల్వ చేస్తుంది. ఫలితాలను ప్రారంభించడంలో మరియు తిరిగి ఇవ్వడంలో ఇది ముఖ్యమైన పాత్ర పోషిస్తుంది. ఒక పద్దతిని ప్రారంభించినప్పుడల్లా ఒక ఫ్రేమ్ సృష్టించబడుతుంది మరియు ఆహ్వానం ముగిసిన వెంటనే లేదా పూర్తయిన వెంటనే నాశనం అవుతుంది.
పిసి రిజిస్టర్లు - ఇది అమలు చేయబడుతున్న JVMinstruction యొక్క చిరునామా లేదా స్థానం ఉంది.
స్థానిక పద్ధతి స్టాక్స్ - అనువర్తనాల్లో ఉపయోగించే అన్ని స్థానిక పద్ధతులు స్థానిక పద్ధతి స్టాక్లలో ఉన్నాయి.
ఎగ్జిక్యూషన్ ఇంజిన్ - అమలు ఇంజిన్ వర్చువల్ ప్రాసెసర్, ఒక వ్యాఖ్యాత మరియు a ని కలిగి ఉంది JIT కంపైలర్.
స్థానిక పద్ధతి ఇంటర్ఫేస్ - ఇది ఒక అది అందిస్తుంది.
ఇప్పుడు మేము JVM యొక్క నిర్మాణాన్ని అర్థం చేసుకున్నాము, అమలు ప్రక్రియ మరియు కోడ్ సంకలనం గురించి చూద్దాం.
అమలు ప్రక్రియ
జావా కోడ్ అమలు మరియు సంకలనం చేసేటప్పుడు క్రింది దశలు జరుగుతాయి.
- ప్రధాన పద్ధతి ఒకే ఫైల్లో నిల్వ చేయబడుతుంది మరియు ఇతర పద్ధతులు వేర్వేరు ఫైళ్ళలో నిల్వ చేయబడతాయి.
- సంకలనం తరువాత, ఇది సి వలె కాకుండా, ఎటువంటి లింక్ లేకుండా బైట్ కోడ్ కలిగి ఉన్న సంబంధిత .క్లాస్ ఫైళ్ళను అందిస్తుంది.
- అమలు సమయంలో, క్లాస్లోడర్ను ఉపయోగించి ఏదైనా ఉల్లంఘనలకు క్లాస్ ఫైల్లు ధృవీకరించబడతాయి.
- దీని తరువాత, బైట్కోడ్ సంబంధిత స్థానిక యంత్ర కోడ్గా మార్చబడుతుంది. జావా తులనాత్మకంగా నెమ్మదిగా ఉండటానికి ఇది కూడా కారణం.
ఇప్పుడు మనకు తెలుసు, అమలు ఎలా పనిచేస్తుందో, JDK, JRE మరియు JVM మధ్య వ్యత్యాసాన్ని పరిశీలిద్దాం.
JDK, JRE మరియు JVM మధ్య వ్యత్యాసం
ఈ మధ్య కొన్ని ముఖ్యమైన తేడాలు ఉన్నాయి జెడికె , JVM, మరియు JRE.
- JDK అంటే జావా డెవలప్మెంట్ కిట్, మరియు JRE అంటే జావా రన్టైమ్ ఎన్విరాన్మెంట్.
- JDK అభివృద్ధి కోసం అయితే JRE రన్ టైమ్ ఎన్విరాన్మెంట్ కోసం.
- ఏదైనా జావా ప్రోగ్రామ్ను అమలు చేయడానికి జెడికె మరియు జెఆర్ఇలో జెవిఎం తప్పనిసరి భాగం.
- JVM జావా ప్రోగ్రామింగ్లో అంతర్భాగం మరియు ప్లాట్ఫాం స్వాతంత్ర్యాన్ని అందిస్తుంది.
ఇది జావా వర్చువల్ మెషీన్ గురించి వివరంగా తెలుసుకున్న ఈ వ్యాసం చివరకి మనలను తీసుకువస్తుంది. ఈ ట్యుటోరియల్లో మీతో పంచుకున్న అన్ని విషయాలతో మీరు స్పష్టంగా ఉన్నారని నేను ఆశిస్తున్నాను.
“జావా వర్చువల్ మెషిన్” పై ఈ కథనాన్ని మీరు కనుగొంటే, ఎడురేకాను చూడండి , ప్రపంచవ్యాప్తంగా 250,000 కంటే ఎక్కువ సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ.
మీ ప్రయాణంలో అడుగడుగునా మీకు సహాయం చేయడానికి మేము ఇక్కడ ఉన్నాము మరియు జావా డెవలపర్గా ఉండాలనుకునే విద్యార్థులు మరియు నిపుణుల కోసం రూపొందించిన పాఠ్యాంశాలను రూపొందించండి. ఈ కోర్సు మీకు జావా ప్రోగ్రామింగ్లోకి రావడానికి మరియు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్వర్క్లతో పాటు కోర్ మరియు అడ్వాన్స్డ్ జావా కాన్సెప్ట్లకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.
మీకు ఏవైనా ప్రశ్నలు వస్తే, “జావా వర్చువల్ మెషిన్” యొక్క వ్యాఖ్యల విభాగంలో మీ ప్రశ్నలన్నింటినీ అడగడానికి సంకోచించకండి మరియు మా బృందం సమాధానం ఇవ్వడానికి సంతోషిస్తుంది.