Kezdőoldal » Számítástechnika » Programozás » Ha egy egyszer megírt assembly...

Ha egy egyszer megírt assembly kód nem tud futni más-más processzorokon a különböző utasítás készletek miatt akkor a Javánál ez hogy lehetséges?

Figyelt kérdés

Tudom a java kód egy virtuális gépben a Java Virtual Machineben fordul át bájtkódra amit az is futtat le, az assemblyt meg az assembler fordítja gépi kódra amit a fizikai processzor futtat le. De a JVMnek valahogy kommunikálnia kell a fizikai processzorral. Arra lennék kíváncsi ezt hogy teszi meg? Gépi kódon ezt nem teheti meg mert az is különbözik az utasításkészletek miatt nem? Vagy ha csak egy gépi kód van miért nem tud egy assembler egy kódot az összes processzorra fordítani?


Valamit rosszul tudok vagy gondolok?



2019. aug. 1. 13:47
 1/6 Gugu Gabor ***** válasza:
15%
egyrészt a pricesszoroknál is megvan a hardveres kompatibilitás, másrészt a köztes "rendszerrel" meg lehet oldani hogy A oprendszer proci kombóval így használd B oprendszer proci komboval amugy (zanzásítva persze)
2019. aug. 1. 13:55
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
100%
A Java VM-et megírták minden processzorra amin képes futni (x86, x64, arm, stb.). A Java classok ugyan azok, de a Java VM az alatta lévő processzor gépi kódjára alakítja és futtatja.
2019. aug. 1. 13:57
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Az elsőből semmit sem értek de azért köszi, a másodiknak köszi az érthető választ. :)
2019. aug. 1. 14:00
 4/6 anonim ***** válasza:
100%

A java kód egy javac nevű compiler fordít át bájtkódra. Ez is java-ban van írva, így valóban a java virtuális gépen történik a dolog de csak fejlesztési fázisban a fejlesztők gépén/szerverén.


A felhasználók csak JRE-vel (Java Runtime Environment) rendelkeznek. Ez az interpreter, ami meg van írva több platformra is. Megeszi a bájtkódot és elvégzi a benne lévő utasításokat.


Fejlesztéshez Java Development Kit kell. Ez a JRE mellett tartalmazza a compilert és még néhány tucatnyi egyéb fejlesztői eszközt.

2019. aug. 1. 15:45
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Ahogy már írták: Amikor egy Java kódot átviszel egy másik gépre, akkor a JVM-et ne vidd, hanem telepítsd az arra az architerktúrára készült JVM-et. Csak a Java kód (forrás vagy class) hordozható, épp azért, amit írtál.
2019. aug. 2. 14:10
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
100%
Ez olyan, mintha egy eszperantó nyelven írt levelet körbeküldenél egy rakás ország cégeinek. A nyelvet mondjuk minden titkárságon értik, és majd mind lefordítja a saját nyelvére, hogy a főnökeik is értsék.
2019. aug. 2. 14:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!