Как да се обясни какво стека преливане байткод на Руски
Опитах да обясни на начинаещите инженери какви байткод (като част от едно обяснение принципите за програмиране на Java). Така че, аз се опитвам да обясня на стандарта, те казват, че е нещо между компилация и интерпретация, като всеки отбор dzhavovskogo байт код, той е на няколко assemblerovskih команди, но те ме погледне и да каже - не ponyatnoooo! Те не са програмисти, не знам какво всеки сбор или тълкуване, или асемблер, аз се опитах да им обясним на пръстите на ръцете, и то като че ли ги, че нещо не дойде, но колкото можете на пръстите на краката с помощта на примери в живота, за да обясни принципа на действие на байткод?
@vanyamelikov Мисля, че ти не разбираш е, че Java байткод :)
Java байткод е машина инструкции за несъществуващата машини Java, често се нарича Java Virtual Machine.
Какво е брат на сила? И силата на брат, което пишете за определен Java машина (някой ден някой ще направи същото физическо машина Java). Какво е преносимостта на Java код: това е просто въпрос на изпълнение на машината Java върху реална машина и т.н.
Аз се опитах да обясня нещо като това:
Компютри "мислят" прости инструкции, и когато се напише програма на С нека да бъде преобразувана в серия от примитивни машинни инструкции. Такъв е израз на един език за програмиране
Е приблизително преобразува в последователност от инструкции
С навлизането на компютрите са различни и инструкциите, които те използват, не винаги е един и същ.
Ето защо, ние излезе със слой от същите тези машинни инструкции - байт код. Вашият код, написани на езици като Java и питон се превръща първо в него и след това в машинни инструкции. Защо го направи? Същата байт-код ще работи по същия начин на различни компютри. Грубо байт код е "обвивка" на машинни инструкции, което увеличава възможността за прехвърляне на програми.
Ще се радвам uslashat критика на това обяснение ^ _ ^
Байткод е система на обучение процесор. Те знаят, че всеки процесор е поставил инструкция? Програма на асемблер за x86 виждал? Ако не, тогава шоуто. След това програмата в никакви системни команди може да бъде изпълнен от хардуер, софтуер, можете да (преводач) и може да бъде прехвърлено в друга команда на системата и след изпълнение на хардуер, софтуер, или. Стана така, че Java-байткод тълкува или да превеждате, и изпълнява x86 хардуер. Но причините за това са икономически, а не принципна. съществуват Java-процесори, но не са широко разпространени. На други планети, може би по целия път наоколо.
Защо излезе с байткод? В началото не е имало преводачи, които просто изпълнява кода от текст, но също толкова ефективен в постоянен анализ на линиите е добро, дойде да работи с байта, а не като източник на линии, това е, програмата конвертира синтаксиса източник HN-и байткод където има инструкции и етикети и т.н. почти като на ASM, откъдето идва и името на виртуалната машина, а не на преводача, например в Java е JVM. Така че всичко е просто, виртуалната машина при зареждане байткод го изпълнява. Но това не е всичко, за по-голяма производителност влезе СЕР, т.е. съставянето байткод на родния код за изпълнение на муха, като по този начин не е много да се конкурентни програми, съставени PL-ч.
Отговорено 29 '15 април в 12:04