Vous êtes sur la page 1sur 10

Objektno orijentisano

programiranje 2
Uvod u jezik Java
18.02.2013. Uvod u jezik Java
2
Motivacija
Prenosivost programa sa jedne na drugu platformu
- osnovni motiv za razvoj jezika
Jezici kakvi su C i C++ nisu uspeli
da obezbede platformsku nezavisnost
Programiranje aparata za domainstvo
- prvobitni povod za razvoj Jave
Proboj Interneta i njegovih servisa (npr. WWW)
- dodatni motiv koji se tek kasnije pojavio
Interesantno: i mikrotalasnim rernama
i univerzumu Interneta su potrebni prenosivi programi
18.02.2013. Uvod u jezik Java
3
Istorijat
Jezik je koncipirao tim firme Sun Microsystems, Inc. 1991. godine
J.Gosling, P.Naughton, C.Warth, E.Frank, M.Sheridan
Razvoj prve radne verzije trajao je 18 meseci
Prvobitno ime jezika Oak, od 1995 ime je promenjeno u Java
Od 1993. godine fokus se premeta sa kune elektronike na WWW
Proirenje tima koji je usavrio prototip i uobliio Javu 1995:
B.Joy, A.v.Hoff, J.Payne, F.Yellin, T.Lindholm
Trenutno aktuelna verzija je 7u13
Ranije verzije: 1.0, 1.1, 1.2, 1.3, 1.4.0, 1.4.1, 1.4.2, 1.5.0 (5.0), 6
Razvojno i izvrno okruenje:
Oracle Java SE (Standard Edition) 7 update 13
Java SE obuhvata:
JRE (Java Runtime Environment)
JDK (Java Development Kit)
18.02.2013. Uvod u jezik Java
4
Mehanizam
Osnova za platformsku nezavisnost
interpretativan kod
Prevoenjem izvornog Java programa
dobija se interpretativni "bajtkod " (bytecodes)
Interpreter za bajtkod Java virtuelna maina (JVM)
Bajtkod je "mainski jezik" za JVM
JVM je "standardizovana"
jedan bajtkod e se identino interpretirati na proizvoljnoj JVM
Implementacija JVM zavisi od konkretne platforme,
ali interfejs prema bajtkodu ostaje isti
Interpretiranje bajtkoda je efikasno,
ali ipak slabijih performansi od izvrenja EXE
Reenje JIT (Just In Time) prevodioci za bajtkod
deo po deo koda se prevodi u toku njegovog interpretiranja
18.02.2013. Uvod u jezik Java
5
Aplikacije i apleti
Programi na Javi - dve kategorije (na klijentskoj strani):
aplikacije
apleti
Aplikacije su klasini programi koji se:
distribuiraju na konvencionalan nain
pokreu pod operativnim sistemom raunara
(pod kojim je instalirana JVM)
Apleti su (uglavnom mali) programi koji se:
distribuiraju preko Interneta, odnosno WWW,
kao delovi HTML stranica
pokreu u okviru WWW itaa (browser programa)
18.02.2013. Uvod u jezik Java
6
Koncepti i osobine jezika
Objektna-orijentacija
moderan OO jezik: klase, nasleivanje, polomorfizam, interfejsi
Jednostavnost
C/C++ sintaksna slinost, ali jednostavniji OO model
Prenosivost
postie se interpretacijom bajtkoda
Sigurnost
JVM prua zatitu od virusa koji bi se prenosili kroz izvrni kod
Robusnost
stroga provera tipova, proveravani izuzeci, sakupljanje ubreta
Efikasnost
JIT prevodioci
18.02.2013. Uvod u jezik Java
7
Podrka kroz biblioteku klasa
Programiranje GUI i obrada dogaaja
paketi AWT i SWING
Perzistencija
seriajlizacija objekata
Konkurentnost
klasa Thread objekti su aktivni programske niti
Distribuiranost
RMI (Remote Method Invocation) i servleti
Komponentizacija
Java Beans i Enterprise Java Beans
18.02.2013. Uvod u jezik Java
8
Alati za razvoj
Oracle (ranije Sun Microsystems):
alati iz komandne linije: Java SE (Std. Edition), Java EE (Enterprise Edition)
integrisano okruenje (IDE): Java Studio (ranije ONE Studio, jo ranije Forte)
Java Studio Enterprise prelazak na NetBeans IDE
NetBeans IDE (Open Source, sponzorstvo Sun Microsystems)
Microsoft:
Visual Studio .NET Visual J#
Ranije: Visual Studio 6.0 Visual J++
Borland: J-Builder
BlueJ (La Trobe University, Australia, & University of Kent, UK )
Xinox Software: JCreator
Eclipse IDE for Java
18.02.2013. Uvod u jezik Java
9
Program na jeziku Java
Programi na Javi su sastavljeni od klasa (i interfejsa)
Klasa u osnovi sadri dve vrste lanova:
polja (fields) podatke koji pripadaju samoj klasi (zajednika polja)
ili objektima klase
metode (methods) skupovi naredbi koje rade nad poljima
Polja slue za reprezentaciju stanja objekta, odnosno klase
Metode definiu ponaanje objekta, odnosno klase
18.02.2013. Uvod u jezik Java
10
Primer programa
Izvorni kod programa Pozdrav na jeziku Java (fajl: p.java):
class Pozdrav{
public static void main(String[] args){
System.out.println("Zdravo!");
}
}
main metod koji se izvrava kada se pokrene klasa kao aplikacija
Prevoenje:
javac p.java
kao rezultat se dobija bajtkod Pozdrav.class
Izvravanje:
java Pozdrav

Vous aimerez peut-être aussi