Hogyan magyarázza, mi bytecode verem túlcsordulás az orosz

Próbáltam elmagyarázni kezdő mérnökök milyen bytecode (részeként magyarázatot a Java programozási elvek). Tehát, megpróbálom elmagyarázni a standard, azt mondják, ez valami között összeállítása és értelmezése, mint a minden csapat dzhavovskogo byte-kódot, ez egy pár assemblerovskih parancsokat, de úgy néznek rám, és azt mondják - nem ponyatnoooo! Ezek nem programozók, nem tudom, mi olyan összeállítás vagy értelmezésével, vagy szerelő, megpróbáltam elmagyarázni nekik az ujjakon, és úgy tűnt nekik, hogy valami jött, de akkor a lábujjak segítségével életből vett példák, hogy ismertesse a működési elve a bájtkódot?

@vanyamelikov Azt hiszem, nem értem, hogy a Java bytecode :)

Java bájtkód gépi utasításokat a Java megszűnt gépek, gyakran nevezik a Java Virtual Machine.

Mi az az erő, testvér? És az erő a testvér, hogy írunk egy bizonyos Java gép (valamikor, hogy valaki meg fog tenni ugyanazon a fizikai gépen Java). Mi a hordozhatóság Java kód: ez csak egy kérdés, végrehajtása Java gép bármely valós gép is, stb

Megpróbáltam elmagyarázni valamit, mint ez:

Számítógépek „gondolja”, az egyszerű utasításokat, és ha írsz egy programot a C hagyja átalakul egy sor primitív gépi utasításokat. Ilyen volt a kifejezés egy programozási nyelv

Ez nagyjából alakítjuk utasítássorozat

Ahogy a számítógépek eltérőek, és az utasításokat, hogy használata nem mindig ugyanaz.

Ezért jön egy réteg ugyanezek gépi utasítások - byte-kódot. A kódot írt nyelvek, mint a java és python először átalakítja azt, majd a gépi utasításokat. Miért is? Ugyanez byte-kód ugyanúgy működik a különböző számítógépeken. Nagyjából byte kód „wrapper” a gépi utasítások, ami növeli a hordozhatóság a programokat.

Én szívesen uslashat kritika ez a magyarázat ^ _ ^

Bájtkódjának egy olyan rendszer, amelyben a processzor utasítás. Tudják, hogy minden processzor utasító? Program assembly nyelven x86 látott? Ha nem, akkor a show. Ezután a program bármely rendszer parancsokat lehet végrehajtani hardver, szoftver, akkor (interpreter), és át lehet vinni egy másik irányító rendszer, majd végrehajtja a hardver, a szoftver vagy. Úgy történt, hogy a java-bytecode értelmezik vagy lefordítani, és végre x86 hardveren. De a gazdasági okokból, hanem elvi. Java-feldolgozók létezik, de nem terjedt el. Más bolygókon, talán egészen körül.

Miért jön bájtkódot? Az elején voltak tolmácsok, akik csak végrehajtja a kódot a szövegben, de annyira hatékony, folyamatos elemzése a vonalak nem jó, jött dolgozni bájt, nem forrásként vonalak, azaz a program konvertálja a forrás szintaxis Hn-és bájtkódot ahol vannak utasítások és címkék, stb majdnem olyan, mint a ASM, innen a név a virtuális gép, nem a tolmács, például Java JVM. Tehát minden egyszerű, a virtuális gép betöltésekor bytecode végrehajtja. De ez még nem minden, a nagyobb teljesítmény belépett a JIT, azaz összeállítása bytecode natív kódot a légy teljesítmény, így nem sok kap versenyképes fordított programok PL-am.

Válaszol április 29 '15 at 12:04