0
JAVAGordana Gardić
Sadržaj:
1. Poreklo Jave
2. Nastanak Jave
3. Pojmovi koji oblikuju Javu
4. Alati za razvoj
5. Java platforma
6. Java progr...
Poreklo Jave
• Java je srodnik jezika C++, koji je direktan potomak
jezika C.
• Iz jezika C Java je preuzela sintaksu.
• K...
Poreklo Jave
• Pošto C++ objedinjuje visoku efikasnost i stilske elemente C-a sa
objektno orijentisanim pristupom, mogao se...
Nastanak Jave
• 1991. godina (James Gosling, Patrick Naughton, Chris Warth, Ed
Frank, Mike Sheridan)-Sun Microsystems, Inc...
Nastanak Jave
• Iznenađuje to što glavni pokretač za razvoj Jave nije bio
Internet!
• Osnovni motiv je bila potreba za jez...
Pojmovi koji oblikuju Javu
1. Jednostavno
2. Bezbedno
3. Prenosivo
4. Objektno orijentisano
5. Robusno
6. Višenitno
7. Nez...
Jednostavno
• Java je koncipirana tako da programeri mogu lako da je
nauče i efikasno koriste.
• Sa predznanjem C-a i C++ s...
Bezbedno
• Kada koristite čitač Weba koji podržava Javu, možete
bezbedno da preuzimate Java aplete bez bojazni od virusa i...
Bezbedno
• Mogućnost preuzimanja apleta bez straha od štete ili
bojazni da će biti prekršena bezbednosna pravila, za
mnoge...
Prenosivo
• Tri velike grupe korisnika različitih operativnih sistema:
Windows
Linux
Mackintosh
• I još veliki broj manje ...
Objektno orijentisano
• Iako je Java nastala pod uticajem svojih predhodnika, nije
bilo predviđeno da njen izvorni kôd bud...
Robusno
• Web okruženje sa više platformi postavlja izuzetne programske
zahteve jer program mora da se pouzdano izvršava n...
Robusno
• Istovremeno, Java vas oslobađa briga o mnogim najčešćim
programskim greškama.
• Pošto je Java strogo tipiziran j...
Robusno
• Dva glavna razloga otkazivanja programa:
greške pri upravljanju memorijom i
loša obrada izuzetaka .
• Java otkla...
Višenitno
• Java je projektovana tako da izađe u susret realnim
zahtevima pravljenja interaktivnih mrežnih programa.
• Jav...
Nezavisno od platform
• Osnovni problem dizajnera Jave bilo je stvaranje prenosivog
koda koji će trajno raditi.
• Operativ...
Interpretirano i visokoefikasno
• Java omogućuje pravljenje programa za više platformi
prevodeći izvorni kôd u međuproizvod...
Distribuirano
• Java je posebno namenjena distribuiranom okruženju
Interneta jer lako rukuje protokolima TCP/IP.
• Java po...
Dinamično
• Java programi sadrže znatne količine podataka o tipu koji se
koriste za proveravanje i razrešavanje pristupa o...
Alati za razvoj
• Za izvršavanje Java aplikacija potrebno je imati
instaliranu samo Java platformu.
• Java Runtime Envirom...
Alati za razvoj
JDK izdanja
• Za neke Java aplikacije su potrebne dodatne mogućnosti, koje
nisu sadržane osnovnim skupom JDK, kao što je s...
JDK izdanja
• Najpopularnija su sledeća izdanja:
• Java SE (Standard Edition)
• Osnovno izdanje namenjeno za razvoja svih ...
JDK izdanja
• Java ME (Micro Edition)
• Služi za razvoj java aplikacija na mobilnim uređajima.
• JavaFX (Script Technology...
Java platforma
• Platforma je softversko i/ili hardversko okruženje u kome se
izvršava program.
• Java se upravo razlikuje...
Java platforma
• Java platforma se sastoji iz dve komponente:
Java Virtuelne Mašine (JVM)
 predstavlja osnovu Java platfo...
Java platforma
Virtuelna mašina
• Virtualna mašina je softverska implementacija mašine
(računara) koja može da izvršava programe kao i sa...
Biblioteke klasa u Javi
• U Javi postoji standardna biblioteka klasa koja se može
koristiti kada je potrebno.
• Biblioteka...
Biblioteke klasa u Javi
Neki od najvažnijih paketa u
standardnoj biblioteci klasa su:
Paket
Opis
java.applet Kreiraju se p...
Biblioteke klasa u Javi
• Sve klase u Javi su organizovane u pakete.
• Paketi u Javi su slični direktorijumima (fasciklama...
Biblioteke klasa u Javi
package Proba;
public class Sfera …
• Prethodni iskaz kaže da je klasa Sfera pripadnik paketa
Prob...
Biblioteke klasa u Javi
• Standardne klase i paketi
• Klase koje se nalaze u paketu java.lang se automatski
mogu koristiti...
Java programi
• Postoje dve osnovne vrste programa koji se mogu
pisati u Javi:
Aplikacija
 to je samostalni program za re...
Prevođenje i interpretacija Java
programa
Prevođenje i interpretacija Java
programa
• Java prevodilac (javac) prevodi Java izvorni kod (.java) u
tzv. bajt-kod(.clas...
Struktura projekta
• Važno je dobro organizovati Java projekat.
• Uobičajeno je u programiranju da imena direktorijuma,
sv...
Struktura projekta
• Direktorijum lib (sinonim za library, biblioteke)
sadrži sve eksterne biblioteke koje aplikacija kori...
Identifikatori
• Java koristi identifikatore da imenuje:
promenljive
metode
klase
pakete
• Sintaksna pravila:
Mora početi ...
Ključne reči
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
brea...
•Nastaviće se...
Java
Upcoming SlideShare
Loading in...5
×

Java

497

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
497
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Java"

  1. 1. JAVAGordana Gardić
  2. 2. Sadržaj: 1. Poreklo Jave 2. Nastanak Jave 3. Pojmovi koji oblikuju Javu 4. Alati za razvoj 5. Java platforma 6. Java programi 7. Prevođenje i interpretacija Java programa 8. Struktura projekta 9. Identifikatori
  3. 3. Poreklo Jave • Java je srodnik jezika C++, koji je direktan potomak jezika C. • Iz jezika C Java je preuzela sintaksu. • Karakteristike koje definišu Javu potiču od njenih prethodnika ili su nastale kao odgovor na njih.
  4. 4. Poreklo Jave • Pošto C++ objedinjuje visoku efikasnost i stilske elemente C-a sa objektno orijentisanim pristupom, mogao se koristiti za pravljenje široke lepeze programa. • World Wide Web i Internet će pokrenuti novu revoluciju na polju programiranja.
  5. 5. Nastanak Jave • 1991. godina (James Gosling, Patrick Naughton, Chris Warth, Ed Frank, Mike Sheridan)-Sun Microsystems, Inc. • 18 meseci rada da bi se došlo do prve radne verzije. • “Oak” – hrast • 1995. godine – JAVA
  6. 6. Nastanak Jave • Iznenađuje to što glavni pokretač za razvoj Jave nije bio Internet! • Osnovni motiv je bila potreba za jezikom nezavisnim od računarske platforme . • U vreme kad je nastajala JAVA uobličio se i WWW ovakav kakvim ga danas poznajemo. • Java se probila u prvi plan računarskih jezika, jer su i za Web bili potrebni prenosivi programi.
  7. 7. Pojmovi koji oblikuju Javu 1. Jednostavno 2. Bezbedno 3. Prenosivo 4. Objektno orijentisano 5. Robusno 6. Višenitno 7. Nezavisno od platforme 8. Interpretirano 9. Visokoefikasno 10. Distribuirano 11. Dinamično
  8. 8. Jednostavno • Java je koncipirana tako da programeri mogu lako da je nauče i efikasno koriste. • Sa predznanjem C-a i C++ savladavanje Jave nije problem.
  9. 9. Bezbedno • Kada koristite čitač Weba koji podržava Javu, možete bezbedno da preuzimate Java aplete bez bojazni od virusa ili zlih namera. • Java obezbeđuje ovu zaštitu tako što program ograničava na okruženje za izvršavanje Java programa, ne dozvoljavajući mu pristup drugim delovima računara.
  10. 10. Bezbedno • Mogućnost preuzimanja apleta bez straha od štete ili bojazni da će biti prekršena bezbednosna pravila, za mnoge predstavlja najveću novinu koju je Java donela.
  11. 11. Prenosivo • Tri velike grupe korisnika različitih operativnih sistema: Windows Linux Mackintosh • I još veliki broj manje poznatih operativnih sistema. • I još bezbroj različitih konfiguracija računara.
  12. 12. Objektno orijentisano • Iako je Java nastala pod uticajem svojih predhodnika, nije bilo predviđeno da njen izvorni kôd bude kompatibilan sa izvornim kodom bilo kog drugog jezika. • Zato su autori Jave imali potpuno odrešene ruke. • Jedan rezultat koji je odavde proizišao jeste čist, upotrebljiv i pragmatičan tretman objekata. • Model objekta u Javi jednostavan je i lako se proširuje, dok prosti tipovi, kao što su celi brojevi, nisu ni obuhvaćeni objektima jer su tako mnogo efikasniji.
  13. 13. Robusno • Web okruženje sa više platformi postavlja izuzetne programske zahteve jer program mora da se pouzdano izvršava na različitim sistemima. • U cilju postizanja pouzdanosti rada programa, Java vas ograničava u nekoliko ključnih područja, terajući vas da programske greške ispravite u ranoj fazi.
  14. 14. Robusno • Istovremeno, Java vas oslobađa briga o mnogim najčešćim programskim greškama. • Pošto je Java strogo tipiziran jezik, ona proverava kôd u trenutku njegovog prevođenja. • Međutim, ona ga proverava i u trenutku izvršavanja. • Glavna prednost Jave je to što možete da predvidite kako će se ono što ste napisali ponašati u različitim uslovima.
  15. 15. Robusno • Dva glavna razloga otkazivanja programa: greške pri upravljanju memorijom i loša obrada izuzetaka . • Java otklanja ove probleme jer dodeljuje i oslobađa memoriju umesto vas. (garbage collector) • Java obezbeđuje objektno orijentisanu obradu izuzetaka.
  16. 16. Višenitno • Java je projektovana tako da izađe u susret realnim zahtevima pravljenja interaktivnih mrežnih programa. • Java podržava višenitno programiranje – varijantu programiranja koja omogućuje da vaš program istovremeno radi više stvari.
  17. 17. Nezavisno od platform • Osnovni problem dizajnera Jave bilo je stvaranje prenosivog koda koji će trajno raditi. • Operativni sistemi se neprestano poboljšavaju, poboljšavaju se i procesori, a kada se sve kombinuje s promenama u osnovnim resursima sistema, može se dogoditi da program više ne radi kako treba. “Napiši jednom; izvršavaj bilo gde, bilo kada i zauvek”
  18. 18. Interpretirano i visokoefikasno • Java omogućuje pravljenje programa za više platformi prevodeći izvorni kôd u međuproizvod, zvan bajt kôd. • Ovakav kôd se može izvršavati na svakom sistemu koji ima Javinu virtuelnu mašinu. • Najveći broj prethodnih pokušaja da se napravi kôd koji će raditi nezavisno od platforme ostvarivao je to na račun performansi. • Javin bajt kôd je pažljivo optimizovan tako da se po potrebi, pomoću JIT prevodioca, lako prevodi u mašinski kôd konkretnog računara, čime se postižu visoke performanse.
  19. 19. Distribuirano • Java je posebno namenjena distribuiranom okruženju Interneta jer lako rukuje protokolima TCP/IP. • Java podržava i daljinsko izvršavanje procedura (Remote Method Invocation,RMI). • Dakle, program može da zahteva izvršavanje procedura koje se nalaze na bilo kojoj mrežnoj adresi.
  20. 20. Dinamično • Java programi sadrže znatne količine podataka o tipu koji se koriste za proveravanje i razrešavanje pristupa objektima u trenutku izvršavanja. • Time je omogućeno dinamičko povezivanje koda na pouzdan i efikasan način.
  21. 21. Alati za razvoj • Za izvršavanje Java aplikacija potrebno je imati instaliranu samo Java platformu. • Java Runtime Enviroment (JRE) • Za razvoj Java aplikacija je potrebno osim JRE imati i skup alata kojima se radi razvoj. • Java Development Kit (JDK) • JDK, dakle, sadrži JRE i sve dodatne alate neophodne za osnovni razvoj Java aplikacija.
  22. 22. Alati za razvoj
  23. 23. JDK izdanja • Za neke Java aplikacije su potrebne dodatne mogućnosti, koje nisu sadržane osnovnim skupom JDK, kao što je slučaj sa web aplikacijama. • Zato postoje razna izdanja (edition) JDK-a.
  24. 24. JDK izdanja • Najpopularnija su sledeća izdanja: • Java SE (Standard Edition) • Osnovno izdanje namenjeno za razvoja svih aplikacija, osim onih koje su dizajnirane za posebne uređaje. Java SE ediciju čini JRE, prevodilac i prateće alatke i API, uključujući i njegov izvorni kod. • Java EE (Enterprise Edition) • Ovo izdanje uključuje aplikativni server, web server, J2EE API, podršku za Enterprise JavaBeans, Java Servlet API i Java Server Pages (JSP) tehnologije. J2EE se koristi sa JSE.
  25. 25. JDK izdanja • Java ME (Micro Edition) • Služi za razvoj java aplikacija na mobilnim uređajima. • JavaFX (Script Technology) • Efikasan skript jezik za lako kreiranje bogatih sadržaja u Java okruženju.
  26. 26. Java platforma • Platforma je softversko i/ili hardversko okruženje u kome se izvršava program. • Java se upravo razlikuje od mnogih drugih platformi u tome što je isključivo softverska, koja radi na drugim hardverskim platformama. • Ovo čini Javu portabilnom i nezavisnom od hardverske platforme.
  27. 27. Java platforma • Java platforma se sastoji iz dve komponente: Java Virtuelne Mašine (JVM)  predstavlja osnovu Java platforme koja je portovana na različite hardverske platforme. Java Application Programming Interface (API)  ogromna kolekcija gotovih softverskih komponenti koje pružaju mnogo korisnih mogućnosti. Nju čine klase i interfejsi, grupisani u pakete.
  28. 28. Java platforma
  29. 29. Virtuelna mašina • Virtualna mašina je softverska implementacija mašine (računara) koja može da izvršava programe kao i sam računar (fizička mašina). • Dve osnovne kategorije virtualnih mašina: Sistemska virtualna mašina–poseduje kompletnu sistemsku platformu koja omogućuje instalaciju i pokratanje operativnog sistema. Aplikativna virtualna mašina–dizajnirana za pokretanje jednog programa (aplikacije), odnosno, podržava jedan proces. • Bitna karakteristika virtualne mašine –softver koji se pokreće unutar nje je ograničen na resurse koje mašina pruža (drugim rečima, ne može se izaći van granica njenog virtualnog sveta).
  30. 30. Biblioteke klasa u Javi • U Javi postoji standardna biblioteka klasa koja se može koristiti kada je potrebno. • Biblioteka klаsa je skup klasa koje podržavaju rаzvoj programa. • Klase koje se nalaze u ovim bibliotekama su za programere bitne, pošto sadrže specijalne funkcije. • Klasa u okviru standardne biblioteke klasa su grupisane u pakete (package).
  31. 31. Biblioteke klasa u Javi Neki od najvažnijih paketa u standardnoj biblioteci klasa su: Paket Opis java.applet Kreiraju se programi (apleti) koji se lako prebacuju preko Weba java.awt Crta se grafika i kreira grafički korisnički interfejs (AWT je skraćenica za Abstract Windowing toolkit) java.beans Definišu se softverske komponente koje se lako ubacuju u aplikacije. java.io Klase koje obavljaju različite funkcije vezane za ulaz i izlaz java.lang Generalna podrška. Ovaj paket je automatski uvezen u sve programe. java.math Klase za matematička izračunavanja java.net Klase za komunikaciju preko mreže java.rmi Klase za pisanje programa koji se mogu distribuisati na više računara (RMI je skraćenica za Remote Method Invocation). java.security Klase vezane za sigurnost java.sql Klase za rad sa bazama podataka. SQL je skraćenica za Structure Query Language) java.text Klase za formatiranje teksta java.util Generalne pomoćne klase javax.swing Klase za kreiranje grafičkog korisničkog interfejsa. Proširenje klasa iz paketa
  32. 32. Biblioteke klasa u Javi • Sve klase u Javi su organizovane u pakete. • Paketi u Javi su slični direktorijumima (fasciklama) koji se koriste za organizaciju podataka na disku. • Pakovanje klase se izvodi tako što se u datoteku u kojoj se nalazi klasa na početku doda iskaz za pakovanje.
  33. 33. Biblioteke klasa u Javi package Proba; public class Sfera … • Prethodni iskaz kaže da je klasa Sfera pripadnik paketa Proba. • U jednom paketu može biti više klasa. • Ključna reč public u definiciji klase ukazuje na to da se klasi Sfera može pristupiti i iz drugih paketa i klasa u programu.
  34. 34. Biblioteke klasa u Javi • Standardne klase i paketi • Klase koje se nalaze u paketu java.lang se automatski mogu koristiti kod pisanja programa. • Ove klase su toliko osnovne da se mogu smatrati proširenjem jezika. • Svaka klasa iz paketa java.lang, kao što su klase String ili System, se može koristiti u programu bez ikakvih dodatnih radnji.
  35. 35. Java programi • Postoje dve osnovne vrste programa koji se mogu pisati u Javi: Aplikacija  to je samostalni program za rešavanje jednog ili skupa problema, koji sadrži metod main() i jednu ili više klasa Aplet  to je dinamički interaktivni program koji se može izvršavati u okviru WEB stranice, a posredstvom nekog od browser-a ( čitača )
  36. 36. Prevođenje i interpretacija Java programa
  37. 37. Prevođenje i interpretacija Java programa • Java prevodilac (javac) prevodi Java izvorni kod (.java) u tzv. bajt-kod(.class) koji je binarani isti za sve platforme(“prevedi jednom izvršavaj bilo gde”). • Bajt-kod (Bytecode)su mašinske instrukcije za JVM. • JVM operiše upravo nad bajtkodom. • Java interpreter (java) tumači bajtkod i izvršava akcije koje su specificirane u bajtkodu, unutar JVM.
  38. 38. Struktura projekta • Važno je dobro organizovati Java projekat. • Uobičajeno je u programiranju da imena direktorijuma, svojim imenom, sugerišu njegov sadržaj. • Direktorjum src (sinonim za source, izvorni kod) sadrži celokupan izvroni kod java programa. • Direktorijum out (sinonim za output, rezultat kreiranja aplikacije; često se naziva i bin, što je sinonim za binary, binarni, tj. prevedeni kod) sadrži celokupan rezultat prevođenja aplikacije (.class fajlove).
  39. 39. Struktura projekta • Direktorijum lib (sinonim za library, biblioteke) sadrži sve eksterne biblioteke koje aplikacija koristi. • Direktorijum etc (sinonim za et cetera, 'i ostale stvari') može da sadrži sve pomoćne fajlove u vezi projekta - uputstva, zahteve, SQL skriptove i tome slično. • Direktorijum dist (sinonim za distribution, distribucija) sadrži finalni rezultat build-ovanja aplikacije, spreman za distribuciju
  40. 40. Identifikatori • Java koristi identifikatore da imenuje: promenljive metode klase pakete • Sintaksna pravila: Mora početi slovom (velikim ili malim slovom) Može biti praćeno bilo kojim brojem slova i cifara Karakteri $ i _ su prihvaćena slova Java identifikator imena je osetljiv na veličinu slova (case sensitive) Ne sme biti ključna reč
  41. 41. Ključne reči abstract continue for new switch assert*** default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum**** instanceof return transient catch extends int short try char final interface static void class finally long strictfp** volatile const* float native super while * not used ** added in 1.2 *** added in 1.4 **** added in 5.0
  42. 42. •Nastaviće se...
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×