మీరు వ్రాసే కోడ్‌ను JVM నేరుగా అమలు చేయదు. బైట్‌కోడ్‌లో వ్రాసిన ప్రోగ్రామ్‌లను ఎలా అమలు చేయాలో మాత్రమే దీనికి తెలుసు. బైట్‌కోడ్ అనేది మెషిన్ కోడ్‌కి దగ్గరగా ఉండే తక్కువ-స్థాయి భాష.

జావా కోసం, సంకలనం అనేది జావాలో వ్రాయబడిన (అధిక స్థాయి) ప్రోగ్రామ్‌ను బైట్‌కోడ్‌లో వ్రాసిన అదే ప్రోగ్రామ్‌లోకి అనువదించడం.

మీ కోడ్ .java ఫైల్‌లో కంపైలర్‌కి పంపబడింది. కంపైలర్ కోడ్‌లో లోపాలను కనుగొనకపోతే, మీరు కొత్త బైట్‌కోడ్ ఫైల్‌ను తిరిగి పొందుతారు. ఈ ఫైల్‌కు అదే పేరు ఉంటుంది కానీ వేరే పొడిగింపు ఉంటుంది: .class . కోడ్‌లో లోపాలు ఉంటే, కంపైలర్ మీకు "ప్రోగ్రామ్ కంపైల్ చేయలేదు" అని చెబుతుంది. అప్పుడు మీరు ప్రతి దోష సందేశాన్ని చదవాలి మరియు లోపాలను పరిష్కరించాలి.

JDK (జావా డెవలప్‌మెంట్ కిట్)లో భాగమైన కంపైలర్‌ను అమలు చేయడానికి మీరు javac ఆదేశాన్ని ఉపయోగిస్తారు. అంటే మీరు JRE (జావా రన్‌టైమ్ ఎన్విరాన్‌మెంట్) మాత్రమే ఇన్‌స్టాల్ చేస్తే, మీకు కంపైలర్ ఉండదు! మీరు JVMని మాత్రమే కలిగి ఉంటారు, ఇది బైట్‌కోడ్‌ను మాత్రమే అమలు చేయగలదు. కాబట్టి మనం JDKని ఇన్‌స్టాల్ చేసి, మన .java ఫైల్‌ను కంపైలర్‌కి పాస్ చేస్తాము.

ఉదాహరణకు, కొన్ని కన్సోల్ అవుట్‌పుట్‌తో సరళమైన ప్రోగ్రామ్‌ని తీసుకుందాం:


class MySolution {
   public static void main(String[] args) {
      System.out.println("Hi, command line!");
   }
}

ఈ కోడ్‌ని D:/temp/MySolution.java ఫైల్‌లో సేవ్ చేద్దాం .

కమాండ్ ఉపయోగించి మన కోడ్‌ని కంపైల్ చేద్దాం


D:\temp>javac MySolution.java

కోడ్‌లో కంపైలేషన్ లోపాలు లేకుంటే, టెంప్ ఫోల్డర్‌లో MySolution.class ఫైల్ కనిపిస్తుంది . అంతేకాదు, మీ కోడ్‌ని కలిగి ఉన్న MySolution.java ఫైల్ ఎక్కడికీ వెళ్లదు. అది ఉన్న చోటే ఉండిపోయింది. కానీ ఇప్పుడు MySolution.class బైట్‌కోడ్‌ని కలిగి ఉంది మరియు JVM ద్వారా నేరుగా అమలు చేయడానికి సిద్ధంగా ఉంది.

మా ఉదాహరణ వీలైనంత సులభం, కానీ అతిపెద్ద మరియు అత్యంత క్లిష్టమైన ప్రాజెక్ట్‌లు కూడా javac ఆదేశాన్ని ఉపయోగిస్తాయి. కాబట్టి ఇది ఎలా పనిచేస్తుందో తెలుసుకోవడం మీకు చాలా ఉపయోగకరంగా ఉంటుంది.

మీరు ఒకేసారి ఒకటి కంటే ఎక్కువ తరగతులను కంపైల్ చేయవచ్చు. ఉదాహరణకు, తాత్కాలిక ఫోల్డర్‌లో Cat.java అనే మరొక ఫైల్ ఉందని అనుకుందాం :


D:\temp>javac MySolution.java Cat.java

లేదా ఇది:


D:\temp>javac *.java

కంపైల్ చేసిన తర్వాత, .class ఫైల్‌లను jar ఫైల్‌లో ప్యాక్ చేయవచ్చు , వీటిని సౌకర్యవంతంగా వివిధ కంప్యూటర్‌లకు తరలించి, ఆపై వాటిపై రన్ చేయవచ్చు. జార్ ఫైల్‌ను ఎలా సృష్టించాలో ఇక్కడ ఒక ఉదాహరణ ఉంది :


D:\temp>jar cvfe myjar.jar MySolution MySolution.class Cat.class

ఎక్కడ:

  • jar అనేది JDKలో చేర్చబడిన .jar ఫైల్‌లను సృష్టించే ఆదేశం

  • cvfe కింది అర్థాలతో కమాండ్ లైన్ ఎంపికలు:

    • c – కొత్త jar ఫైల్‌ని సృష్టించండి

    • v – వెర్బోస్ సమాచారాన్ని ప్రదర్శించండి

    • f – సాధనం యొక్క అవుట్‌పుట్‌ను ఫైల్‌లో ఉంచాలని మేము కోరుకుంటున్నామని సూచిస్తుంది ( myjar.jar )

    • – ఎంట్రీ పాయింట్‌ను సూచిస్తుంది ( MySolution ), అంటే ప్రధాన పద్ధతిని కలిగి ఉన్న తరగతి

  • MySolution.java Cat.class – jar ఫైల్‌లో ప్యాక్ చేయబడే ఫైల్‌ల యొక్క స్పేస్-వేరు చేయబడిన పేర్లు .

ఫలిత jar ఫైల్‌ను మేము ఎలా అమలు చేస్తాము :


D:\temp>java -jar myjar.jar
మరింత వివరణాత్మక సమాచారం కోసం:
జావాక్ మరియు జార్ సాధనాలు అంతర్నిర్మిత సహాయాన్ని కలిగి ఉన్నాయి . దీన్ని ప్రదర్శించడానికి, కింది వాటిని కమాండ్ లైన్‌లో అమలు చేయండి:
  • javac --సహాయం
  • jar --సహాయం