logo

A Java értelmezve vagy lefordítva

A Java programozási nyelvet az 1990-es évek elején fejlesztette ki a Sun Microsystem. A Java egy objektumorientált, egyszerű, hatékony, robusztus és általános célú programozási nyelv. Elsősorban webalapú vállalati alkalmazásokhoz használják. Eredetileg különböző platformokon futó beágyazott hálózati alkalmazásokhoz tervezték.

Amikor elkezdünk tanulni Java programozás , egy kérdés merül fel: a Java értelmezett vagy lefordított, vagy mindkettő. Ezt a kérdést az interjúalany is felteheti a Java-val kapcsolatos interjúiban. Tehát a válasz erre a kérdésre A Java értelmezett és lefordított is . Nem világos azonban, hogy a Java le van-e fordítva vagy értelmezve. Nem generál gépi kódot a forrásfájl fordítása után, és nem értelmezi a forrásfájlt úgy, hogy soronként végrehajtsa a kódutasításokat. A kérdés megválaszolásához meg kell értenünk, hogy a Java hogyan platformfüggetlen nyelv? Ez azt jelenti, hogy tudunk Java kódot írni egy platformra, és futtathatunk más platformokon, például hardveres operációs gépeken, változtatások nélkül. Tehát a Java platformfüggetlenségének megértése teljes választ ad erre a kérdésre.

A Java teljesen hordozható; ugyanaz a Java kód ugyanúgy fut a különböző platformokon, függetlenül a hardver kompatibilitástól vagy az operációs rendszertől.

A Java forráskódot először Java fordító segítségével bináris bájtkódba fordítják, majd ez a bájtkód fut a JVM-en (Java Virtual Machine), amely egy szoftver alapú értelmező. Tehát a Java értelmezettnek és lefordítottnak is tekinthető.

A lefordított bájtkód lehetővé teszi JVM legyen kicsi és hatékony, és gyorsan teljesít. Ezenkívül ez a bájtkód hordozhatóságot biztosít a Java programozási nyelvhez. Lehetővé teszi ennek a kódnak a végrehajtását bármely olyan JVM-en, amely megfelelően van implementálva a gépen, függetlenül a gép hardver- és szoftverkomponenseitől és konfigurációitól. Szinte minden webböngésző tartalmaz JVM-et a Java kisalkalmazáskód végrehajtásához.

Értsük meg ezt egy egyszerű Java programmal:

Egyszerű Java program és működik

Hozzon létre egy egyszerű .java fájlt kedvenc szövegszerkesztőjével:

A Java értelmezve vagy lefordítva

Tedd bele az alábbi kódot:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

És mentse el a fájlt.

Most nézze meg a könyvtárunkat, ahová a .java fájlt elmentettük.

A Java értelmezve vagy lefordítva

Két lépést követve futtathatunk egy Java alkalmazást.

  1. Fordítsa le a Java programot
  2. Végezze el az alkalmazást

Fordítsa le a Java alkalmazást:

A Java program lefordításához hajtsa végre az alábbi parancsot:

 javac Basic.java 

A fenti parancs lefordítja a Java programot, és létrehozza a Java program .class fájlját, amely tartalmazza a Java alkalmazás bájtkódját.

A Java értelmezve vagy lefordítva

A fenti kimenetből láthatjuk, hogy a Java program lefordítása után egy .class fájl jön létre. Ez a fájl a Java program bájtkódját tartalmazza. Ezt a bájtkódot bármelyik JVM-et megvalósító gépen végrehajthatjuk.

Az alkalmazás végrehajtása:

Az alkalmazás végrehajtásához hajtsa végre az alábbi parancsot:

 java Basic 

A fenti parancs végrehajtja a bájtkódot, és végrehajtja a program funkcióit:

A Java értelmezve vagy lefordítva

A fenti kimenetből egy egyszerű nyilatkozatot nyomtattunk.

A Java program végrehajtása lépésről lépésre:

A Java értelmezve vagy lefordítva
  1. Írjon Java kódot és mentse el a fájlt .Jáva
  2. Most ez a fájl a Java fordítóval lesz lefordítva, amely javac.
  3. A Java fordító lefordítja a Java fájlt, és létrehoz egy bájtkóddal rendelkező .class fájlt (ami valójában nem gépi kód, ellentétben a C fordítóval)
  4. Ez a generált bájtkód egy nem végrehajtható kód, és most értelmezőre van szüksége, hogy gépi kóddá alakítsa. Itt a JVM kezeli.
  5. Most a JVM ezt a bájtkódot hajtja végre a Java bájtkód végrehajtásához a gépen.
  6. Most a programunk végrehajtja a funkcionalitást, és megadja a kívánt kimenetet.

Következtetés:

A Java értelmezettnek és lefordítottnak is tekinthető. Java-fordítót (javac) és JVM-et (ami tulajdonképpen egy szoftver alapú értelmező) használ a Java-alkalmazások teljes futtatásához a gépen.