Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

A nyelv története, jellemzői A Java platform

Hasonló előadás


Az előadások a következő témára: "A nyelv története, jellemzői A Java platform"— Előadás másolata:

1 A nyelv története, jellemzői A Java platform

2 A Java programozási nyelvet James Gosling és más mérnökök hozták létre a Sun Microsystems berkein belül. A fejlesztés 1991-ben kezdődött a Green Project részeként. Olyan szg-es mini nyelvet terveztek, amely kommunikációs eszközök programozására alkalmas. (Mint pl. egy kábel TV kapcsoló doboza.) Mivel az ilyen eszközök nem túl gyorsak, memóriájuk is szűkös, a nyelvnek nagyon kicsinek, a lefordított kódnak pedig roppant hatékonynak kellett lennie. 2

3 Közrejátszott még egy fontos szempont:
Mivel valószínűsíthető volt, hogy a különböző gyártók majd különböző típusú processzorokat fognak választani, ezért a nyelvet általánosra kellett megalkotni. Nem volt szabad azt egy megadott architektúrára szűkíteni. 3

4 Hivatalosan május 23-án jelentették be, az első verziót novemberben adták ki. Eredetileg a C++ utódjának szánták. Az eredeti neve Oak volt (angolul tölgyfát jelent, állítólag a James Gosling irodája előtt álló fa ihlette), azonban ez már egy bejegyzett név. Miközben a néven töprengtek, nagy élvezettel kortyolgatták kávéjukat. E kávé a Java nevet viselte, utalva a származási helyére. Jáva Indonézia egyik szigete, melyen az ország fővárosa, Jakarta is található. Ez Indonézia legnépesebb szigete, egyben a világ legsűrűbben lakott területeinek egyike. A Föld tizenharmadik legnagyobb szigete. Hol található Java szigete? 4

5 Java programok készítéséhez a (JDK, Java fejlesztői készlet)
Verziók JDK 1.0, január 23. JDK 1.1, február 19. JDK 1.2, kódneve Playground (más néven Java 2), december 8. JDK 1.3, Kestrel, május 8. JDK 1.4, Merlin, február 6. JDK 5.0, Tiger (korábbi nevén 1.5), szeptember 30. JDK 6, Mustang, december 11. 2009-ben az Oracle fölvásárolta!!! JDK 7, Dolphin,  2011. július 28. (String-ek engedélyezése switch utasításban, új IO könyvtár) JDK 8, 2012 vége… Java programok készítéséhez a Java Development Kit (JDK, Java fejlesztői készlet) szükséges!!! 5

6 A Java első kiadása a Java Developement Kit 1. 0 (JDK 1
A Java első kiadása a Java Developement Kit 1.0 (JDK 1.0, Java fejlesztői csomag) volt. Ez tartalmazta a futtatási környezetet (a virtuális gépet és az osztálykönyvtárakat) és a fejlesztői eszközöket (például a javac fordítót). Később a Sun kiadott egy csomagot Java Runtime Environment (JRE, Java futtatási környezet) néven, ami csak a futtatási környezetet tartalmazta. Az emberekben azonban az első név ragadt meg, ezért szoktak a különböző verziókra a JDK verziója szerint hivatkozni. 6

7 A Java nyelv jellemzői Egyszerű (simple)
Objektumorientált (object-oriented) Elosztott (ditributed) Robusztus (robust) Biztonságos (secure) Architektúra-semleges (architecture neutral) Hordozható (portable) Interpretált (interpreted) Magas teljesítményű (high performance) Többszálú (multithreaded) Dinamikus (dynamic) 7

8 A Java platform A Java platform egy olyan számítógépes környezet (platform) neve, ami képes a Java programozási nyelven írt programok futtatására. Ebben az esetben a platform nem egy konkrét hardvert vagy operáció rendszert jelöl, hanem egy virtuális gépnek nevezett futtató programot és szabványos osztálykönyvtárak gyűjtemény-ét, amik egységes működést biztosítanak. 8

9 Java osztálykönyvtár gyűjtemény
? Ábra.java Rajzol (zöld kör); Java nyelvű forrásszöveg (text állomány) Android: Google Inc. Blackberry OS: RIM iOS: Apple Symbian OS: Symbian Alapítvány Windows Phone: Microsoft Java fordító Solaris Javac Ábra.java Windows Ábra.class Siemens Java bájtkód (bináris állomány, de még nem futtatható!) Samsung Nokia Linux Java Ábra Java Virtuális Gép + Java osztálykönyvtár gyűjtemény 9

10 A programozó egy nyelvet megtanulva, egy nyelvet használva tudja a legkülönfélébb programozható eszközöket, (pl. mobilokat, személyi számítógépeket, szervereket) kezelni, anélkül, hogy magukkal ezekkel a különböző hardver eszközökkel, vagy az eszközökön található szoftveres erőforrásokkal, (pl. a futó operációs rendszerekkel: Linux-szal, Windows-zal vagy Solarisszal) foglalkoznia kellene. 10

11 A Java Runtime Environment
Ahhoz, hogy egy Java platformra készült programot futtatni tudjunk, szükségünk van egy Java virtuális gépre, és osztálykönyvtárak gyűjteményére, amiket a program felhasznál. A Sun virtuális gépét, és az ő osztálykönyvtár megvalósításukat a Java Runtime Environment (JRE) tartalmazza. 11

12 A Java Virtuális Gép A Java platform lelke egy olyan virtuális processzor, ami Java bájtkódú programokat képes futtatni. Ez a bájtkód ugyanaz marad, függetlenül attól, hogy milyen hardveren vagy operációs rendszeren fut. A Java platform ehhez egy értelmezőt használ, a Java virtuális gépet (Java Virtual Machine, JVM), ami futási időben lefordítja a Java bájtkódú utasításokat a helyi gép natív kódú utasításaira. Így ugyanazt a programot bármilyen platformon lehet futtatni, amihez van virtuális gép. 12

13 Az 1.2-es verzió óta a Sun JVM megvalósítása just-in-time (JIT) fordítót is tartalmaz. Ebben ahelyett, hogy egyenként értelmeznénk a bájtkódú utasításokat, egyszerre lefordítjuk a bájtkódban lévő programot a megfelelő natív kódú programmá akkor, amikor azt a virtuális gép betölti. Ezzel sokkal gyorsabb lesz a futtatás, csak a betöltés fog egy kicsit tovább tartani. Így a JIT fordító optimalizálhatja is a kódot a program aktuális viselkedésének megfelelően (ami például nem tehető meg egy előre lefordított programmal). 13

14 Ez azonban nem jelenti azt, hogy ténylegesen le lehet fordítani egy Java kódot natív kódra (hogy kihasználjuk a sebességét). Léteznek olyan fordítók, amik megpróbálkoznak ezzel, de nem minden Java osztálykönyvtárnak létezik gépi kódú megfelelője. (Vegyük például a reflexiót, amivel kikereshetjük az éppen betöltött osztályok utasításait. Ezt nem lehet tökéletesen megoldani gépi kóddal.) 14

15 Az osztálykönyvtárak A legtöbb operációs rendszerben sok újrafelhasználható kód áll rendelkezésre a programozók munkájának megkönnyítésére. Ezek általában dinamikusan betölthető könyvtárak, amiket az alkalmazások futási időben tudnak meghívni. Mivel a Java platform független minden operációs rendszertől, ezért nem támaszkodhat egyik létező könyvtárgyűjteményre sem. Ehelyett a Java platform olyan széleskörű osztálykönyvtár gyűjteményt biztosít, ami tartalmazza a legtöbb, a modern operációs rendszerekben megtalálható funkciót. 15

16 A Java osztálykönyvtárak három fő célt szolgálnak a Java platformon belül.
Egyrészt, mint más szabványos kódgyűjtemények, biztosítanak olyan jól ismert szolgáltatásokat, mint objektumok listájának kezelése, összetett karakterlánc műveletek, stb. Másrészt, absztrakt felületeket biztosít olyan műveletekhez, amelyek egyébként erősen függenek a konkrét hardvertől és az operációs rendszertől. Ide tartozik többek között a hálózatkezelés és a fájlkezelés, amik általában függenek a natív platform képességeitől. A java.net és a java.io könyvtárak megvalósítják a natív hívásokat, és egy egységes felületet biztosítanak a Java alkalmazásoknak ezek elérésére. 16

17 Harmadrészt előfordulhat, hogy egy platform nem támogatja az összes olyan tulajdonságot, amire egy Java alkalmazás számítana. Ekkor az osztálykönyvtár vagy emulálja az adott szolgáltatást, felhasználva az elérhető eszközöket, vagy megad egy szabványos módot a szolgáltatás elérhetőségének lekérdezésére. 17


Letölteni ppt "A nyelv története, jellemzői A Java platform"

Hasonló előadás


Google Hirdetések