Java on kõrgkeel, mis on mõeldud spetsiaalselt kasutamiseks Interneti hajuskeskkonnas. Java esialgse versiooni nimeks oli OAK ja Sun Microsystems oli selle loonud kasutamiseks pihuarvutites. Kuna OAK ei olnud eriti edukas, siis 1995.a. modifitseeris Sun seda vastavalt WWW vajadustele ja nimetas ümber Javaks. Java töötati välja nii, et ta oleks väljanägemiselt sarnane C++ keelele, kuid oleks lihtsam kasutada. Java on täielikult objektorienteeritud programmikeel ning selle abil saab luua terviklikke rakendusi, mis võivad joosta kas eraldiseisval arvutil või olla jaotatud võrguserverite ja -klientide vahel. Javat saab kasutada ka veebilehtedele väikeste rakendusmoodulite ehk aplettide kirjutamiseks. Apletid võimaldavad veebilehe kasutajal sellega interaktiivselt suhelda. Kuigi võrreldes C++ keelega on Javat lihtsam selgeks õppida, ei ole see siiski ühe õhtupooliku töö.
Java peamised iseloomulikud jooned on:
- Java lähtetekst (failid laiendiga .java) kompileeritakse nn. baitkoodi (failid laiendiga .class), mida täidetakse läbi interpretaatori
- Javas kirjutatud programmid on võrgus porditavad, s.t. need võivad joosta võrgus ükskõik millisel arvutil, kas serveril või klientarvutil, kuhu on installeeritud Java virtuaalarvuti. Java virtuaalarvuti interpreteerib baitkoodi masinakoodiks, mis töötab konkreetse arvuti riistvaral. See tähendab, et arvutiplatvormide individuaalsed erinevused nagu käskude pikkus jms. võetakse arvesse käigupealt programmi täitmise ajal ning puudub vajadus platvormi spetsiifikat arvestavate programmiversioonide järele
- Java kood on "robustne", s. t. erinevalt C++ või mõnes muus programmikeeles kirjutatud programmidest ei pea Java objektid sisaldama viiteid neis endis või teistes teadaolevais objektides mittesisalduvatele andmetele. See tagab, et programmikäsk ei saa sisaldada mingi teise rakenduse või opsüsteemi andmete mäluaadresse, mis võiks põhjustada arvuti "kokkujooksmist". Java virtuaalarvutis on ette nähtud rida kontrollifunktsioone, mis kontrollivad iga objekti vastavust reeglitele
- Asjaolu, et Java on objektorienteeritud keel, tähendab muuhulgas ka seda, et sarnased objektid saab liigitada samasse klassi ja nad pärivad ühise koodi. Objekte käsitletakse kui "nimisõnu", mitte kui traditsioonilisi protseduurilisi "tegusõnu". Meetodit võib vaadelda kui objekti üht võimet või käitumisviisi
- Lisaks sellele, et Java programme täidetakse pigem kasutaja arvutis kui serveris, on Java aplettide üheks iseärasuseks see, et nad töötavad kiiresti
- Mõlemad tuntumad veebibrauserid (MS Internet Explorer ja Netscape) sisaldavad Java virtuaalmasinat. Kompileeritud Java programmid võivad töötada peaaegu kõigil arvutitel, sest Java interpretaatoritest ja käituskeskkondadest koosnevad Java virtuaalmasinad on olemas enamiku opsüsteemide jaoks, k. a. UNIX, Macintosh OS ja Windows. Baitkoode saab teisendada ka otse masinakoodi, kui kasutada JIT sünkroonkompilaatorit. Paljudel juhtudel töötab sünkroonkompilaator kiiremini kui virtuaalmasina interpretaator
- Ei maksa segi ajada Javat ja JavaScripti. Viimane on Netscape’i looming ja seda interpreteeritakse kõrgemal tasemel kui Javat, mistõttu seda on ka lihtsam õppida. Samal ajal pole JavaScript nii hästi porditav kui Java ja ei ole ka nii kiire kui baitkood. Kuna Java apletid töötavad peaaegu kõigi opsüsteemidega, ilma et neid oleks vaja ümber kompileerida ja kuna Javal puuduvad opsüsteemist sõltuvad laiendused või variatsioonid, siis üldiselt loetakse Javat strateegiliseks veebirakenduste kirjutamise keeleks. JavaScript võib aga olla kasulik väga väikeste rakendusprogrammide puhul, mida täidetakse veebikliendil või -serveril
|