JAVA
A NYELV NEVE Kezdetben: Oak James Gosling Java: Sun Mycrosystems védjegyev
EGY KIS FÖLDRAJZF Indonézia egyik szigete Jakarta: az ország g fővárosaf Föld 13. legnagyobb szigete
Mit egyszerű csinálni? Alkalmazásokat írni Interneten más m s számítógépek felé tovább bbítani Grafikákat, kat, weboldalakat megjeleníteni Minden más m s programozói i feladat is megoldható, amire a klasszikus programozási nyelvek képesekk
Objektumorientált nyelv Objektumok és s ezek mintáinak inak tekinthető osztályok összessége Osztályok: mezőkb kből l (változ ltozókból), metódusukb dusukból l (függv ggvényekből) épülnek fel
Mezőkben: eltárolhatjuk az adatokat Metódusokkal: megadhatjuk az adatokon végezhetv gezhető műveletek kódját
A programkész szítés s folyamata Specifikáci ció Tervezés Kódolás Tesztelés Dokumentálás
Specifikáci ció A feladat pontos meghatároz rozása Tartalmazza: a feladat szöveges leírását matematikai A megoldással szemben támasztott t követelményeket, környezeti k igényeket
Tervezés Elkész szülhet a megoldás s algoritmusa Az algoritmus által használt adatok leírása A jelentősebb problémákat részfeladatokra kell szétbontani Algoritmus: anyanyelvünk nkön n megfogalmazott parancssorozat
Kódolás Programozási nyelven leírt program Forrásk skód: utasítások sok sorozata Forrásállom llomány: programozási nyelven leírt verzió
Számítógép Processzor Rendkívül szűk elemi utasításkészletet ért meg, a gépi kódot (tárgykód, natív kód), ami egyesek és nullák sorozataként ábrázolható.
Értelmező Forrásk skód Értelmező Interpreter Gépi kódk
Értelmező Értelmező típusú interpretált nyelvek (Basic) 1. A programozó megírja a forrásk skódot 2. A felhasználó az értelmező segíts tségével végrehajtja a forrásk skódot 3. a) Az értelmező utasításonk sonként nt értelmezi és egyből l végrehajtja v (Basic) b) Az értelmező valamilyen egységenk genként nt értelmezi, lefordítja és s futtatja
Interpretált nyelv Hátránya: A gépi g kód k d előáll llítása csak a végrehajtv grehajtás s alatt törtt rténik meg lassabban futnak le az ilyen programok Forrásnyelven kerülnek terjesztésre sre a program jogosulatlan felhasználására minden lehetőség g adott Előnye: Portábilisek: könnyen k átvihetők k egy számítógépr pről egy más m s típust pusú rendszerre
Fordító Forrásk skód Fordító Compiler Gépi kódk
Fordító Fordító típusú kompilált lt nyelvek (Pascal, C, C++) 1. A programozó megírja a forrásk skódot 2. A programozó fordító programmal lefordítja gépi kódrak 3. A felhasználó később a gépi g kódot k futtatja a számítógépen
JAVA Forrásk skód Fordító Compiler Bájtkód Értelmező Interpreter Gépi kódk.java javac java Olyan, mint egy virtuális processzor gépi kódja..class
Bájtkód Előnyei nyei: Előford fordított bájtkb jtkód d gyorsabban értelmezhető Megvédi az algoritmusokat a lopást stól Platformfüggetlen: nem számít t milyen számítógépen állítjuk elő
Java értelmező JVM: a bájtkb jtkódot utasításonk sonként nt értelmezi és futtatja (virtuális gép, g szoftver) JIT: (Just In Time) a lefordított utasítást st a program futása alatt megjegyzi és s csak a legközelebbi betölt ltéskor fordítja újra (technológia, amit a JVM tud)
Programszerkesztő program Linker A lefordított tárgykt rgykód önállóan nem képes k futni, még összeszerkesztésre sre vár. v Az összeszerkesztést st a linker végzi. v Csak a linker által összeállított program futtatható.
Futtatás A programot be kell tölteni t a memóri riába és s végre v kell hajtatni a processzorral A futás s közben k előfordul forduló hibák k legtöbbsz bbször r a program leáll llásához vezetnek, ezek a futás s alatti hibák k (runtime error).
Compile time (Fordítási idő), Runtime (Futási idő) Bizonyos hibák k fordítási idejű hibák Elírás s a forrásk skódban Nem megengedett függvf ggvényhívás Paraméterez terezés Bizonyos hibák k futási idejű hibák Pl.: Pl.: 0-val való osztás A felhasználó inputját t nem sikerült értelmezni Nem létezl tező file Csupa olyan dolog, amit nem lehet tudni fordítási időben
Java-ban Tisztázni zni kell ezeket a fogalmakat, mivel kétszer k törtt rténik feldolgozás: elősz ször r fordítunk, majd másodszor m a kapott bájtkb jtkódot interpretáljuk, ezzel párhuzamos p a futtatás. Mivel az interpreter inputja a bájtkb jtkód, amit a fordító állított elő,, a bájtkb jtkódban mint forrásk skódban lévől hibák ott voltak már m r az eredeti forrásk skódban is. Mivel a fordítás s nem sikerülhetett volna hibás forrásk skóddal, ezért a bájtkb jtkódról l feltételezhetj telezhetjük, hogy hibátlan Így interpretálás s közben k már m r csak futási idejű hibák fordulhatnak elő.
Integrated Development Environment Integrált Fejlesztői i Környezet K IDE a neve a számítógép-programoz programozást megkönny nnyítő,, részben r automatizáló programoknak. Alapvető szerepe van a gyors alkalmazásfejleszt sfejlesztésben. Az IDE-k k rendszerint tartalmaznak egy szövegszerkeszt vegszerkesztőt t a program forrásk skódjának szerkesztésére, re, egy fordítóprogramot vagy értelmezőt, t, fordításautomatiz sautomatizálási si eszközöket, ket, valamint nyomkövet vetési, grafikusfelület let-szerkesztési si és változatkezelési lehetőségeket sok egyéb b mellett. A komolyabbakhoz, példp ldául az Eclipse-hez kiegész szítők k tömege t érhető el, amelyek a rendszerfejlesztés egyéb b fázisaiban, f pl. dokumentálás, projektmenedzsment stb. nyújtanak nagy segíts tséget.
Java Development Kit Java Fejlesztők k Csomagja JDK: : a Sun Microsystems egyik Java fejlesztőknek szánt terméke. A Java nyelv elterjedése óta messze ez az egyik legnépszer pszerűbb SDK (fejlesztőeszk eszköz). z). 2006 november 17-én a Sun bejelentette, hogy megnyitja a JDK forrásk skódját, és GNU General Public License (GPL) alatt adja ki a szoftvert. Ez nagyrészt csak 2007 május 8-án8 történt meg az OpenJDK kiadásával.
A JDK tartalma A JDK elsősorban sorban programozási eszközök k széles skáláját tartalmazza: javac A fordítóprogram program,, ami a forrásb sból l létrehozza l a bájtkódot. java A Java programok indításához szüks kséges interpreter,, mely képes k értelmezni a javac fordító által generált class fájlokat. f jar Archiver, ami a kiválasztott class fájlokbf jlokból l egyetlen JAR fájltf generál. javadoc Dokumentáci ció készítésére alkalmas eszköz, z, mely a forrásk skódban elhelyezett kommenteket értelmezi. jdb Debugger. javap Class fájl f disassembler. appletviewer Appletek böngésző nélküli li megtekintésére és s debuggolására használhat lható eszköz. z. javah extcheck apt jhat jstack jstat jstatd jinfo jmap idlj policytool
Java Runtime Environment Java Futtató Környezet Tartalmazza pl.: JVM (Java Virtual Machine) ) ( Java Virtuális Gép) G az értelmezőt Java osztályk lykönyvtárat bájtkb jtkódra fordított formában