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

ఈ బైట్ కోడ్ ఫైలును జావా వర్చువల్ మెషీన్ ఎక్జిక్యూట్ చేస్తుంది. జావా వర్చువల్ మెషీన్ అన్ని రకాలైన కంప్యూటర్లలో పనిచేసే విధంగా రూపొందించబడి ఉంటుంది. కాబట్టి జావా డెస్కుటాప్ కంప్యూటర్లు, ల్యాప్‌టాప్‌లు, మొబైల్ ఫోన్లు, పిడిఏలు మొదలైన అన్ని రకాల కంప్యూటర్లలో పని చేస్తుంది. 1991లో ఒక సెట్ టాప్ బాక్సు ప్రాజెక్టు కోసం మొట్టమొదటి సారిగా జావాను తయారుచేసారు.

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

మైక్రోవేవ్ ఒవెన్లు, రిమోట్ కంట్రోళ్ళు తదితర ఎలక్ట్రానిక్ ఉపకరణాలు దీనిని రూపొందించడానికి ప్రేరణ. వీటిలో చాలా రకాలైన సిపియులను కంట్రోలర్లుగా వాడుతుంటారు. ఒక వర్చువల్ మెషీన్ను తయారు చేసి, దానికోసం సీ/సీ ప్లస్ ప్లస్ భాషలను పోలి ఉండే ఒక కంప్యూటరు భాషను తయారు చేయాలన్నది గోస్లింగ్ మొదట్లో నిర్దేశించుకున్న లక్ష్యాలు. సీ/సీ ప్లస్ ప్లస్‌లతో వచ్చిన సమస్య ఏమిటంటే వీటిలో వ్రాసిన ప్రోగ్రాములు ఏవో కొద్ది ప్లాట్ ఫాం లకోసం కంపైల్ చెయ్యబడేలా రూపొందించబడి ఉంటాయి.

సీ/సీ ప్లస్ ప్లస్ ప్రోగ్రామును ఒక సిపియు మీద నడపాలంటే దానికి సంబంధించిన కంపైలర్ వ్రాయాలి. కానీ మార్కెట్లో లభిస్తున్న ప్రతీ సిపియుకూ కంపైలర్ను రూపొందించాలంటే అది ఖర్చు సమయంతో కూడిన పని. ఈ సమస్యకు పరిష్కారంగానే జావాను కనుగొనడం జరిగింది. జావా మొట్ట మొదటి సారిగా 1995లో జావా 1.0గా విడుదల అయ్యింది. ఒక్క సారి ప్రోగ్రామును రాయండి, ఎక్కడైనా నడపండి అన్న నినాదంతో, ప్రస్తుతం ప్రధానంగా ప్రాచుర్యంలో ఉన్న కొన్ని ప్లాట్ ఫాంల కోసం వర్చువల్ మెషీన్ను తయారు చేశారు. ఈ వర్చువల్ మెషీన్ మంచి రక్షణ వ్యవస్థ కలిగిఉండి, నెట్‌వర్క్ యాక్సెస్‌ను, ఫైల్ యాక్సెస్‌ను నియంత్రించడం మొదలైన రక్షణపరమైన సౌలభ్యాన్ని కూడా కల్గించింది.

అనతి కాలంలోనే ప్రజాదరణ పొందిన వెబ్ బ్రౌజర్లన్నీ జావా అప్లెట్లు నడపడానికి కావాల్సిన సౌకర్యాలను కల్పించాయి. జావా 2 రాకతో వేర్వేరు ప్లాట్ ఫాంలకు వేర్వేరు కాన్ఫిగరేషన్‌లతో విడుదల అయ్యింది. ఎంటర్ ప్రైస్ అప్లికేషన్ల కోసం జె2ఈఈగా, మొబైల్ అప్లికేషన్ల కోసం జె2ఎంఈ, సాధారణ అప్లికేషన్ల కోసం జె2ఎస్ఈ సరికొత్త రూపాన్ని సంతరించుకొంది. జావా సింటాక్సు చాలా భాగం సీ/ సీ ప్లస్ ప్లస్ సింటాక్సును పోలి ఉన్నప్పటికీ వాటి వలే ప్రొసీజర్ ఓరియెంటెడ్ ప్రొగ్రామింగ్, ఆబ్జెక్టు ఓరియెంటెడ్ ప్రోగ్రామింగు విధానాలను కలగలిపి కాకుండా, జావా కేవలం ఆబ్జెక్టు ఓరియెంటెడ్ భాష గానే రూపొందించబడింది. అందువల్లనే జావాలో ప్రతీదీ ఆబ్జెక్టు గానే పరిగణించబడుతుంది.

ఏది రాసిన క్లాస్ లోపలనే రాయాలి. జావా రూప కర్తలు దీనిని రూపొందించేటపుడు ఐదు ప్రధానమైన లక్ష్యాలను దృష్టిలో ఉంచుకున్నారు. ఇది ఆబ్జెక్టు ఓరియెంటెడ్ ప్రోగ్రామింగ్ విధానాన్ని అవలంబించాలి. ఒకే ప్రోగ్రాము వివిధ రకాలైన ఆపరేటింగ్ సిస్టమ్సు మీద నడపగలిగేలా ఉండాలి. నెట్ వర్కింగ్ ప్రోగ్రాములు సులువుగా వ్రాయడం కోసం అవకాశం కలిగించాలి. దూర ప్రాంతాలనుంచి భద్రంగా నడపడానికి అనుగుణంగా రూపొందించబడాలి. ఉపయోగించడానికి సులభంగా ఉండాలి.

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