Razlika između verzija stranice "Java (programski jezik)"

[pregledana izmjena][pregledana izmjena]
Uklonjeni sadržaj Dodani sadržaj
mNo edit summary
m Sitne popravke i izmjene
Red 4:
|ime = Java
|logo = [[Datoteka:Java logo and wordmark.svg|100px]]
|paradigm = [[Objektno Orijentiranoorijentisano Programiranjeprogramiranje]]
|godina = 1990-te
|dizajner = [[James Gosling]] i tim iz [[Sun Microsystems]]
Red 13:
|utjecao_na = [[C sharp|C#]], [[J sharp|J#]], [[Visual J sharp|VJ#]]
}}
'''Java''' je [[Objektno Orijentiranoorijentisano Programiranjeprogramiranje|objektno-orjentiraniorijentirani]] programski jezik razvijen u timu predvođenim [[James Gosling|Jamesom Goslingom]]-om u kompaniji [[Sun Microsystems]] početkom [[1990]]-tih. Ideja je bila da se stvori programski jezik koji bi bio nezavisan od [[operativni sistem|operativnog sistema]], baziran na [[C++]]-u, ali sa pojednostavljenom sintaksom, stabilnijim ''runtime'' sistemom i pojednostavljenom kontrolom [[RAM|memorije]].
 
Java nema veze sa [[JavaScript]]-om, iako oba jezika koriste sličnu sintaksu baziranu na [[C]] sintaksi.
 
== Historija ==
Red 22:
Pet osnovnih razloga za razvoj Jave su:
 
# treba da koristi [[Objektnoobjektno Orijentirano Programiranje|objektno-orijentacione]]orijentisane metodologije
# treba da se isti program izvršava na mnogim operativnim sistemima
# treba da sadrži (built-in) podržkupodršku za računarske mreže
# treba da izvrši programe sa (geografski) udaljenih servera sa sigurnošću
# treba da bude jednostavan za upotrebu i da posudi korisne stvari od starijih objektivno-objektno orijentisanih jezika, poput [[C++]].
 
Da bi postigli mrežnu podršku i izvršavanje programa na udaljenim serverima, Java programeri ponekad moraju koristiti dodatke poput [[CORBA]] ili [[OSGi]].
 
=== [[Objektno Orijentirano Programiranje|Objekt-Orijentacija]]orijentiranje ===
Osnovni koncept u Javi je klasa ([[Engleski jezik{{en|en.]] ''class''}}), tj. sav [[izvorni kod]] je napisan unutar klasa. U pravilu, svaka klasa je deklarirana unutar datoteke sa istim imenom i sufiksom '''.java'''. Ovo pravilo je donekle nametnuto [[kompajler]]om koji zahtijeva da su imena klasa i datoteka ista (osim tzv. '''unutrašnjih klasa''', [[Engleski jezik{{en|en.]] ''inner classes''}}).
Osnovni tipovi u Javi, poput <code>int</code>, <code>boolean</code>, <code>byte</code> i sl. su takodjertakođer predstavljeni u klasama (''napomena: Reflection types'') i imaju odgovarajuće klasne [[Wrapper|omote]] poput <code>java.lang.Integer</code>, <code>java.lang.Boolean</code> i <code>java.lang.Byte</code>.
 
=== Nezavisnost od Platformeplatforme ([[Operativni sistem|operativnog sistema]]) ===
Javin [[izvorni kod]] nije kompajliran u [[mašinski kod]] nego je pretvoren u tzv. ''[[bytecode]]'' koji zahtijeva posebno okruženje da bi se mogao izvršavati. To okruženje se u ovom slučaju zove [[Javina Virtualnavirtualna Mašina]]mašina ([[Engleski jezik|enengl.]] [[Java Virtual Machine]] ili [[JVM]]). Trenutno JVM podržava najrasprostranjenije [[Operativni sistem|operativne sisteme]], mada ne sve. Ideja je da ako se kod napiše i kompajlira na jednoj platformi (npr. [[Mac OS X]]), taj isti ''bytecode'' se može izvršavati na svim ostalim platformama koje imaju JVM (npr. [[Microsoft Windows XP]], [[Linux]]) bez potrebe za ponovnim kompajliranjem na toj platformi.
 
=== Automatsko Čišćenječišćenje Resursaresursa (''garbage collection'') ===
U Javi, za razliku od npr. [[C++]]-a, memorija namjenjenanamijenjena [[Objekat (računari)|objektu]] je automatski počišćena, tj. vraćena sistemu čim se taj objekat više ne koristi (za tog objekta kažemo da je van domašaja ili [[Engleski jezik{{en|en.]] ''out of scope''}}). To nije slučaj u [[C++]]-u gdje svaki objekat koji je stvoren mora biti ručno izbrisan koristeći uputu <code>delete</code> (ako se to ne uradi onda dođe do tzv. curenja memorije ili [[Engleski jezik{{en|en.]] ''memory leak''}}).
 
== Sintaksa ==
Iako je Java nastala od [[C++]], ali za razliku od C++, koji dozvoljava struktuirane kao i objektno-orjentirane orijentirane principe, u Javi su objektno-orjentirani orijentirani principi obavezni. Sve je u Javi [[objekat (računari)|objekat]], a sav [[izvorni kod]] je pisan unutar [[Klasa (računari)|klasa]].
 
=== Vozdra Raja ([[Hello world program|Hello World]]) primjer ===
Red 85:
 
=== Applet ===
Java apleti (applets) su (obično mali) programi koji su uključeni unutar drugih aplikacija, obično web stranice prikazane (i izvršavane) unutar browser-abrowsera.
 
<pre>