Java
Allikas: Vikipeedia
See artikkel räägib programmeerimiskeelest. Saare kohta vaata Jaava.
Java on Sun Microsystemsi poolt arendatav objektorienteeritud programmeerimiskeel.
Sisukord |
[redigeeri] Ajalugu
- Detsember 1990 Patrick Naughton, James Gosling ja Mike Sheridan plaanivad uue projekti raames laiendada C++ keelt, kuid mõtlevad ümber ja loovad uue programmeerimiskeele Oak.
- 1994 Sun Microsystems nimetas Oaki ümber Javaks, kuna nimi "Oak" oli juba registreeritud.
- 1994 Sun JDK 1.0a
- 23. mai 1995 Netscape teatab, et toetab Javat oma brauseris.
- Mai 1996 JDK 1.0
- Veebruar 1997 JDK 1.1
- Detsember 1998 JDK 1.2 (Java2)
- Juuni 1999 J2EE
- Mai 2000 JDK 1.3 J2SE&J2EE
- Veebruar 2002 JDK 1.4
- September 2004 JDK 1.5 (J2SE 5.0)
- Detsember 2006 JDK 1.6 (Java SE 6)
Java leviku katalüsaatoriks oli Interneti kiire areng. Kuna brauser on nn. õhuke klient, kes suudab ainult HTML-lehekülgi näidata, tekkis vajadus brauserile lisada funktsionaalsust, mis lubaks ka kasutaja arvutil lisategevusi teostada (ligipääs kasutaja failidele, brauseris mängitavad mängud, dünaamilisemad ja ilusamad veebilehed). Java sõltumatus platvormist lubas veebiarendajal panna veebilehele Java programmi, mis töötaks kasutaja arvutis sõltumata operatsioonisüsteemist ja riistvarast.
[redigeeri] Võrdlus teiste keeltega
[redigeeri] Platvormist sõltumatus
Erinevalt teistest levinud programmeerimiskeeltest ei kompileerita Java programme otse masinkeelde, vaid vahepealsesse baitkoodi (bytecode). Java programmi käivitamisel käivitab arvuti eelnevalt Java virtuaalmasina (JVM), mis omakorda kompileerib baitkoodi riistvaraspetsiifilisse masinakeelde ja käivitab selle. See võimaldab sama Java programmi käivitada erinevatel platvormidel (erineva riistvara ja operatsioonisüsteemidega arvutitel). Tänu sõltumatusele platvormist on Java levinud peale lauaarvutite ka väikesüsteemidesse (embedded devices) nagu mobiiltelefonid, pihuarvutid, IP-telefonid jne.
Platvormist sõltumatuse negatiivseks pooleks on Java üldistatus. Kuna Java programm peab töötama erinevatel arhitektuuridel, siis ei ole Javas arhitektuurispetsiifilisi käske.
[redigeeri] Kiirus
Kuna Java programmid ei ole otse masinkeeles, vaid vajavad spetsiaalset interpretaatorit (virtuaalmasinat), siis on nende töökiirus reeglina aeglasem kui teistes keeltes kirjutatud programmide puhul. Järjest paremad Java virtuaalmasinad ja riistvara areng on kiiruse vahet märgatavalt vähendanud. Edusamme selles valdkonnas võime märgata kui Java jookseb, oma vahetu arendaja, Sun Microsystems'i protsessoritel.
[redigeeri] Automaatne mäluhaldus
C++-laadsete programmeerimiskeelte probleemiks on see, et programmi muutjatele antud mälu tuleb eksplitsiitselt vabastada. Kui programmeerija kas unustab või ei suuda programmi keerukuse tõttu mälu vabastada, siis ei saa operatsioonisüsteem enam antud mälupiirkonda kasutada. See viib nn. mälulekkeni, kus programm kasutab järjest rohkem mälu, kuigi tegelikult ei vaja seda. Java peab järge kõigil loodud objektidel ja kui leiab, et antud objekti programm enam ei kasuta, siis kustutab objekti ja vabastab vastava mälupiirkonna.
[redigeeri] J2EE
Java 2 Enterpise Edition on mitemekihiliste kommertslahenduste arendamiseks loodud raamistik. J2EE eesmärk on lihtsustada ja standardiseerida suure koormustaluvusega (palju kasutajaid) ja keerulise äriloogikaga veebirakendusi. Selline veebirakendus peab olema võimeline töötama samaaegselt mitme serveri peal (klaster), peab toetama mitmekihilist aritektuuri (kasutajaliides, äriloogika ja andmebaas) ning peab olema lihtne arendada ja hallata.
[redigeeri] Süntaks
[redigeeri] Hello world
public class HelloWorldApp { public static void main(String args[]) { System.out.println("Hello World!"); } }