- Mi a Java?
- Mi az a Java platform?
- Java definíciója és jelentése
- Mire használják a Javát?
- A Java programozási nyelv története
- Java verziók
- Java funkciók
- A Java programozási nyelv összetevői
- Java Development kit (JDK)
- Miért használja a JDK-t?
- Java virtuális gép (JVM):
- Miért JVM?
- Java Runtime Environment (JRE)
- Miért használja a JRE-t?
- A Java platformok különböző típusai
- Mi az a számítógép?
- Mi az assembly nyelv?
- Mi az az Assembler és a Compiler?
- Hogyan működik a Java virtuális gép?
- Mitől platformfüggetlen a Java?
Mi a Java?
A Java egy általános célú, osztályalapú, objektumorientált programozási nyelv, amelyet úgy terveztek, hogy minél kevesebb implementációs függőséggel rendelkezzen. Alkalmazásfejlesztésre szolgáló számítástechnikai platform. A Java ezért gyors, biztonságos és megbízható. Széles körben használják Java-alkalmazások fejlesztésére laptopokban, adatközpontokban, játékkonzolokban, tudományos szuperszámítógépekben, mobiltelefonokban stb.
Mi az a Java platform?
A Java Platform olyan programok gyűjteménye, amelyek segítik a programozókat a Java programozási alkalmazások hatékony fejlesztésében és futtatásában. Tartalmaz egy futtatómotort, egy fordítót és egy könyvtárkészletet is benne. Ez egy számítógépes szoftverek és specifikációk összessége. A Java platformot James Gosling fejlesztette ki a Sun Microsystemsnél, majd később az Oracle Corporation felvásárolta.
Ebben a Java oktatóanyagban megtudhatja-
- Mi a Java?
- Mi a Java platform?
- Java definíciója és jelentése
- Mire használják a Java-t?
- A Java programozási nyelv története
- Java verziók
- Java tulajdonságai
- A Java programozási nyelv összetevői
- A Java platformok különböző típusai
- Mi a PC?
- Mi az assembly nyelv?
- Mi az asszembler és a fordító?
- Hogyan működik a Java virtuális gép?
- Hogyan független a Java platformtól?
Ez a videó bemutatja a Java platformot, és elmagyarázza, hogy a Java egy platform és egy programozási nyelv is.
Kattintson ide, ha a videó nem elérhető
Java definíciója és jelentése
A Java egy többplatformos, objektumorientált és hálózatközpontú nyelv. A leggyakrabban használt programozási nyelvek közé tartozik. A Java-t számítástechnikai platformként is használják.
A legtöbb szervezet által a projektjeik létrehozásához kedvelt gyors, biztonságos és megbízható programozási nyelvek egyikének tartják.
Mire használják a Javát?
Íme néhány fontos Java-alkalmazás:
- Az Android alkalmazások fejlesztésére használják
- Segítségével vállalati szoftvereket hozhat létre
- Mobil java alkalmazások széles skálája
- Tudományos számítástechnikai alkalmazások
- Big Data Analytics
- Hardvereszközök Java programozása
- Kiszolgáló oldali technológiákhoz, mint az Apache, JBoss, GlassFish, stb.
A Java programozási nyelv története
Íme fontos mérföldkövek a Java nyelv történetéből:
- A Java nyelvet kezdetben OAK-nak hívták.
- Eredetileg hordozható eszközök és set-top boxok kezelésére fejlesztették ki. Az Oak hatalmas kudarcot vallott.
- 1995-ben a Sun megváltoztatta a nevet “Java”-ra, és módosította a nyelvet, hogy kihasználja a fellendülő www (World Wide Web) fejlesztési üzletág előnyeit.
- Később, 2009-ben az Oracle Corporation felvásárolta a Sun Microsystems-et, és tulajdonába került három kulcsfontosságú Sun szoftvereszköz: Java, MySQL és Solaris.
Java verziók
A következőkben a Java összes verziójának rövid története a megjelenési dátummal.
Java verziók | Kiadási dátum |
JDK Alpha és Beta | 1995 |
JDK 1.0 | 23. jan. 1996 |
JDK 1.1 | 19. febr. 1997 |
J2SE 1.2 | 8. dec. 1998 |
J2SE 1.3 | 8. május 2000 |
J2SE 1.4 | 6. február 2002 |
J2SE 5.0 | 30. szept. 2004 |
Java SE 6 | 11. dec. 2006 |
Java SE 7 | 28. júl. 2011 |
Java SE 8 | 18. márc. 2014 |
Java SE 9 | 21. szept. 2017 |
Java SE 10 | 20. márc. 2018 |
JAVA SE 11 | 25. Sep 2018 |
JAVA SE 12 | 19th Mar 2019 |
JAVA SE 13 | 17th Sep 2019 |
JAVA SE 14 | 17th Márc. 2020 |
JAVA SE 15 | 15th Sep 2020 (legújabb Java verzió) |
Java funkciók
Itt van néhány fontos Java funkció:
- Egyike a könnyen tanulható programozási nyelveknek.
- Egyszer írhat kódot, és szinte bármilyen számítástechnikai platformon futtathatja.
- A Java platformfüggetlen. Az egyik gépen fejlesztett programok egy része egy másik gépen is futtatható.
- Objektumorientált alkalmazások építésére tervezték.
- Egy többszálú nyelv automatikus memóriakezeléssel.
- Az internet elosztott környezetére készült.
- Elősíti az elosztott számítástechnikát, mivel hálózatközpontú.
A Java programozási nyelv összetevői
A Java programozó egy programot ír egy ember által olvasható nyelven, amit forráskódnak nevezünk. Ezért a CPU vagy a chipek soha nem értik meg a bármely programozási nyelven írt forráskódot.
Ezek a számítógépek vagy chipek csak egy dolgot értenek, amit gépi nyelvnek vagy kódnak hívnak. Ezek a gépi kódok a CPU szintjén futnak. Ezért más-más gépi kódok lennének más-más CPU-modellek esetében.
A gépi kóddal azonban nem kell törődni, hiszen a programozás a forráskódról szól. A gép megérti ezt a forráskódot, és lefordítja őket gépileg érthető kóddá, azaz futtatható kóddá.
Mindezek a funkciók a következő 3 Java platformkomponensen belül történnek:
Java Development kit (JDK)
A JDK egy szoftverfejlesztési környezet, amelyet appletek és Java-alkalmazások készítésére használnak. A JDK teljes formája a Java Development Kit. A Java fejlesztők Windows, macOS, Solaris és Linux rendszereken használhatják. A JDK segít nekik a Java programok kódolásában és futtatásában. Egy számítógépre több JDK verzió is telepíthető.
Miért használja a JDK-t?
Íme a JDK használatának fő okai:
- A JDK tartalmazza a Java programok írásához szükséges eszközöket és a JRE-t a programok futtatásához.
- Tartalmaz egy fordítót, Java alkalmazásindítót, Appletviewert stb.
- A fordító a Java nyelven írt kódot byte kóddá alakítja.
- A Java alkalmazásindító megnyitja a JRE-t, betölti a szükséges osztályt, és végrehajtja annak fő metódusát.
Java virtuális gép (JVM):
A Java virtuális gép (JVM) egy olyan motor, amely futási környezetet biztosít a Java kód vagy alkalmazások működtetéséhez. A Java bájtkódot gépi nyelvvé alakítja át. A JVM a Java futtatókörnyezet (JRE) része. Más programozási nyelvekben a fordító egy adott rendszerhez gépi kódot állít elő. A Java fordító azonban a Java Virtual Machine néven ismert virtuális géphez készít kódot.
Miért JVM?
A következők a JVM használatának fontos okai:
- A JVM platformfüggetlen módot biztosít a Java forráskód futtatására.
- Számos könyvtárral, eszközzel és keretrendszerrel rendelkezik.
- A Java program futtatása után bármilyen platformon futtatható, és sok időt takaríthat meg.
- A JVM JIT (Just-in-Time) fordítóval rendelkezik, amely a Java forráskódot alacsony szintű gépi nyelvvé alakítja. Ezért gyorsabban fut, mint egy hagyományos alkalmazás.
Java Runtime Environment (JRE)
A JRE egy olyan szoftver, amelyet más szoftverek futtatására terveztek. Tartalmazza az osztálykönyvtárakat, a betöltő osztályt és a JVM-et. Egyszerűbben fogalmazva, ha egy Java programot akarsz futtatni, akkor JRE-re van szükséged. Ha nem vagy programozó, akkor a Java programok futtatásához nem a JDK-t, hanem csak a JRE-t kell telepítened.
Miért használja a JRE-t?
A következők a JRE használatának fő okai:
- A JRE osztálykönyvtárakat, JVM-et és egyéb támogató fájlokat tartalmaz. Nem tartalmaz semmilyen eszközt a Java-fejlesztéshez, például debuggert, fordítót stb.
- Az olyan fontos csomagosztályokat használ, mint a math, swing, util, lang, awt és a futásidejű könyvtárak.
- Ha Java appleteket kell futtatni, akkor a JRE-t telepíteni kell a rendszerbe.
A Java platformok különböző típusai
A Java programozási nyelv platformjainak négy különböző típusa létezik:
1. Java Platform, Standard Edition (Java SE): A Java SE API-ja kínálja a Java programozási nyelv alapvető funkcióit. Meghatározza a típusok és objektumok összes alapját a magas szintű osztályokhoz. Hálózatépítéshez, biztonsághoz, adatbázis-hozzáféréshez, grafikus felhasználói felület (GUI) fejlesztéséhez és XML-elemzéshez használják.
2. Java Platform, Enterprise Edition (Java EE): A Java EE platform API-t és futásidejű környezetet kínál a nagymértékben skálázható, nagyméretű, többszintű, megbízható és biztonságos hálózati alkalmazások fejlesztéséhez és futtatásához.
3. Java programozási nyelvi platform, mikrokiadás (Java ME): A Java ME platform API-t és kisméretű virtuális gépet kínál, amely Java programozási nyelvű alkalmazásokat futtat kis eszközökön, például mobiltelefonokon.
4. Java FX: A JavaFX egy platform gazdag internetes alkalmazások fejlesztésére, amely egy könnyű felhasználói felület API-t használ. Felhasználói hardveresen felgyorsított grafikai és médiamotorok, amelyek segítségével a Java kihasználhatja a nagyobb teljesítményű kliensek és a modern megjelenés előnyeit, valamint a hálózati adatforrásokhoz való csatlakozáshoz szükséges magas szintű API-kat.
A Java programozási nyelv megértéséhez meg kell értenünk néhány alapfogalmat arról, hogy egy számítógépes program hogyan tud egy parancsot futtatni és végrehajtani egy műveletet.
Mi az a számítógép?
A számítógép olyan elektronikus eszköz, amely képes számítások elvégzésére. Mindannyian tudjuk, hogy egy monitorból, billentyűzetből, egérből és az információk tárolására szolgáló memóriából áll. A számítógép legfontosabb alkotóeleme azonban a PROCESSOR. Ez végzi a számítógép minden gondolkodását, de a kérdés az, hogy a számítógép hogyan végzi ezt a gondolkodást? Hogyan érti meg a szöveget, a képeket, a videókat stb.
Mi az assembly nyelv?
A számítógép egy elektronikus eszköz, és csak elektronikus jeleket vagy bináris jeleket tud megérteni. Például az 5 voltos elektronikus jel az 1-es bináris számot jelentheti, míg a 0 voltos a 0. Tehát a számítógépet folyamatosan bombázzák ezekkel a jelekkel.
Az ilyen jelek nyolc bitjei csoportosítva értelmezik a szöveget, a számokat és a szimbólumokat.
A # szimbólumot például a számítógép 10101010-ként azonosítja. Hasonlóképpen, a függvény összeadásának mintáját a 10000011 jelöli.
Ezt nevezzük 8 bites számításnak. A mai processzor képes 64 bites idő dekódolására. De mi köze van ennek a fogalomnak a JAVA programozási nyelvhez? Értsük meg ezeket egy példán keresztül.
Tegyük fel, ha azt akarjuk mondani a számítógépnek, hogy adjon össze két számot (1+2), amelyet néhány bináris szám (10000011) reprezentál, hogyan fogjuk ezt közölni a számítógéppel? Igen, assembly nyelvet fogunk használni a kódunk végrehajtásához.
“Az assembly nyelv a szoftverfejlesztő nyelvek legelemibb formája”.
A parancsot az alábbi formátumban fogjuk megadni a számítógépnek. A két szám összeadására szolgáló kódod ezen a nyelven a következő sorrendben lenne.
- Tároljuk az 1. számot a memóriahelyen mondjuk A
- Tároljuk a 2. számot a memóriahelyen mondjuk B
- Adjuk hozzá az A hely tartalmát & B
- Tároljuk az eredményt
De hogyan fogjuk ezt végrehajtani? Az 1950-es években, amikor a számítógépek még hatalmasak voltak és rengeteg energiát fogyasztottak, az assembly kódot leképező lapok segítségével alakítottuk át az 1 és 0 értékeknek megfelelő gépi kódra. Később ezt a kódot a gépi kártyákba lyukasztják, és betáplálják a számítógépbe. A számítógép beolvassa ezeket a kódokat, és végrehajtja a programot. Ez akkor egy hosszú folyamat lenne, amíg az ASSEMBLER nem jött segítségül.
Mi az az Assembler és a Compiler?
A technológia fejlődésével feltalálták az i/o eszközöket. Az ASSEMBLER segítségével közvetlenül beírhattuk a programunkat a PC-be. Ez átalakítja azt a megfelelő gépi kóddá (110001..) és betáplálja a processzorodba. Visszatérve példánk (1+2) összeadásához, az assembler ezt a kódot alakítja át gépi kóddá és adja ki.
Ezektől eltekintve, a kód kimenetének megjelenítéséhez az operációs rendszer által biztosított függvényeket is meg kell hívnia.
De egyedül az assembler nem vesz részt ebben a folyamatban; a fordítónak is szüksége van arra, hogy a hosszú kódot kis kóddarabkákra fordítsa. A szoftverfejlesztő nyelvek fejlődésével ez a teljes assembly kód a COMPILER nevű szoftverrel egyetlen sorba print f 1+2 A zsugorodhatna. Ez arra szolgál, hogy a c nyelvű kódot assembly kóddá alakítsa át. Az assembler megfelelő gépi kóddá alakítja át. Ezt a gépi kódot továbbítja a processzornak. A PC-kben vagy számítógépekben használt leggyakoribb processzor az Intel processzor.
Bár a mai fordítók jönnek csomagban assembler tudja közvetlenül átalakítani a magasabb nyelvi kódot gépi kóddá.
Most tegyük fel, hogy ezen az Intel processzoron fut a Windows operációs rendszer, az operációs rendszer és a processzor kombinációját nevezzük PLATFORMnak. A világon a legelterjedtebb platform a Windows, az Intel pedig a Wintel Platform. A többi népszerű platform az AMD és a Linux, a Power PC és a Mac OS X.
Most, a processzor változásával az assembly utasítások is változnak. Például:
- Az Intelben lévő ADD utasítás az AMD-nél ADDITION
- VAGY a Power PC-nél Math ADD
És az operációs rendszer változásával az OS-szintű hívások szintje és jellege is megváltozik.
Elfejlesztőként azt akarom, hogy a szoftverprogramom minden platformon működjön, hogy maximalizáljam a bevételeimet. Tehát külön fordítóprogramokat kellene vásárolnom, amelyek a print f parancsomat natív gépi kóddá alakítják.
De a fordítók drágák, és fennáll a kompatibilitási problémák esélye. Tehát a különböző operációs rendszerekhez és processzorokhoz külön fordítót venni és telepíteni nem kivitelezhető. Mi lehet tehát az alternatív megoldás? Lépjünk be a Java nyelvbe.
Hogyan működik a Java virtuális gép?
A Java Virtual Machine használatával ez a probléma megoldható. De hogyan működik a különböző processzorokon és O.S. Értsük meg ezt a folyamatot lépésről lépésre.
1. lépés) A két szám összeadásának megjelenítésére szolgáló kód a System.out.println(1+2), és .java fájlként mentjük el.
2. lépés) A java fordítóprogram segítségével a kódot egy köztes kóddá, úgynevezett bytecode-dá alakítjuk. A kimenet egy .class fájl.
3. lépés) Ezt a kódot semmilyen platform nem érti, csak egy virtuális platform, a Java Virtual Machine.
4. lépés) Ez a virtuális gép az operációs rendszer RAM-jában található. Amikor a Virtuális Gépet megetetjük ezzel a bájtkóddal, azonosítja a platformot, amelyen dolgozik, és a bájtkódot natív gépi kóddá alakítja.
Amíg a számítógépén dolgozik vagy a világhálón böngészik, valahányszor meglátja a fenti ikonok valamelyikét, biztos lehet benne, hogy a Java virtuális gép betöltődött a RAM-ba. A Java-t azonban az teszi jövedelmezővé, hogy a lefordított kód nemcsak az összes PC-platformon, hanem a Java-t támogató mobilokon vagy más elektronikus kütyükön is futtatható.
Ezért
“A Java egy programozási nyelv és egy platform is.”
Mitől platformfüggetlen a Java?
A C fordítóhoz hasonlóan a Java fordító sem egy adott gép számára készít natív futtatható kódot. Ehelyett a Java egy egyedi formátumot állít elő, amelyet bytecode-nak nevezünk. Ez a virtuális gép specifikációjában lefektetett szabályok szerint hajtódik végre. Ezért a Java platformfüggetlen nyelv.
A bájtkód bármilyen operációs rendszerre telepített JVM számára érthető. Röviden, a Java forráskód minden operációs rendszeren futtatható.
Summary:
- A Java egy multiplatformos, objektumorientált és hálózatközpontú programozási nyelv A Java egy általános célú, osztályalapú, objektumorientált programozási nyelv.
- A Java Platform olyan programok gyűjteménye, amelyek segítik a programozókat a Java alkalmazások hatékony fejlesztésében és futtatásában.
- A Java jelentése: A Java egy többplatformos és hálózatközpontú programozási nyelv.
- Főként Android-alkalmazások és vállalati szoftverek fejlesztésére használják.
- 2009-ben az Oracle Corporation felvásárolta a Sun Microsystems-t, és tulajdonába került három kulcsfontosságú Sun szoftvereszköz: Java, Solaris és MySQL.
- A Java legújabb verziója 2020. szeptember 15-én jelent meg
- A Java legjobb tulajdonsága, hogy az egyik legkönnyebben tanulható programozási nyelv.
- A Java programozási nyelv négyféle platformja a következő: 1) Java Platform, Standard Edition (Java SE) 2) Java Platform, Enterprise Edition (Java EE) 3) Java Platform, Micro Edition (Java ME) 4) JavaFX
- A számítógép olyan elektronikus eszköz, amely képes számítások elvégzésére.
- A számítógép csak elektronikus jeleket vagy bináris jeleket ért.
- Az asszembler egy fejlett technológia, amely a forrásmagot megfelelő gépi kóddá (110001…) alakítja, és a processzorba táplálja.
Az asszembler egy fejlett technológia, amely a forrásmagot megfelelő gépi kóddá alakítja (110001…) és a processzorba táplálja.