Java
Vajab toimetamist
Java on Sun Microsystemsi poolt arendatav objektorienteeritud programmeerimiskeel.
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 Oak keele ümber Java keeleks, kuna nimi Oak oli juba registreeritud.
- 1994 Sun JDK 1.0a
- 23. mai 1995 Netscape teatab, et Netscape 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 (Java 5.0)
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 funktisonaalsust, mis lubaks ka kasutaja arvutil lisategevusi teostada (ligipääs kasutaja failidele, brauseris mängitavad mängud, dünaamilisemad ja ilusamad veebilehed). Java platvormist sõltumatus lubas veebiarendajal panna veebilehele Java prorgammi, mis töötaks kasutaja arvutis sõltumata operatsioonisüsteemist ja riistvarast.
Võrdlus teiste keeltega
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 masinkkeelde ja käivitab selle. See võimaldab sama Java programmi käivitada erinevatel platvormidel (erineva riistvara ja operatsioonisüsteemidega arvutitel). Tänu platvormist sõltumatusele on Java keel levinud peale lauaarvutite ka väikesüsteemidesse (embedded devices) nagu mobiiltelefonid, pihuarvutid, IP telefonid, jne.
Platvormist sõltumatuse negatiivseks pooleks on Java keele üldistatus. Kuna Java programm peab töötama erinevatel ahitektuuridel, siis ei ole Java keeles aritektuurispetsiifilisi käske.
Kiirus
Kuna Java programm ei ole otse masinkeeles, siis on Java programmid reeglina aeglasemad, kui teistes programmeerimiskeeltes kirjutatud programmid. Järjest paremad Java viruaalmasinad ja kiiremad arvutid on kiiruse vahet märgatavalt vähendanud.
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 muutujale antud 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 oleks nii palju vaja. Java peab järge kõigil loodud objektidel ja kui leiab, et antud objekti programm enam ei kasuta, siis kustutab objekti ja vabastab objekti poolt kasutatud mälupiirkonna.
J2EE
Java 2 Enterpise Edition on mitemekihiliste kommertslahenduste arendamiseks loodud raamistik. J2EE Eesmärgiks 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.
Süntaks
Hello world
public class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }
Vaata ka:
Välislingid:
![]() | See artikkel vajab täiendamist, et anda teemast piisavat ülevaadet. |