Байт-код

Байт-ко́д (англ. Bytecode, від байт і код), також Пі-код (англ. p-code від portable code — портативний код) — різновид системи команд, призначений для ефективного виконання команд інтерпретатором.

Команди байт-коду кодують числовими кодами розміром 1 байт, звідки й назва.

Історична довідка

Однієї з перших реалізацій байт-коду була віртуальна машина О-кода (англ. O-codemachine), розроблена наприкінці 1960-х у Кембриджському університеті вченим з інформатики М. Річардсом (1940; Велика Британія).

Найбільш поширеними платформами, які використовують байт-код, є віртуальні машини Java (Java Virtual Machine, JVM) та Microsoft.NET. Проводять еспериментальні розробки центральних процесорів, для яких байт-код є машинним кодом (наприклад, picoJava, розроблений компанією «Сан майкросістем» («Sun Microsystems»; США).

Характеристика

Процес створення програмного забезпечення часто містить стадію компіляції в машинний код (перетворення зручного для написання вихідного коду на систему команд, які можуть бути безпосередньо виконані центральним процесором обчислювальної системи). Оскільки системи команд різних обчислювальних систем мають відмінності, то можливість використання отриманого машинного коду обмежена вибраною під час компіляції системою.

Альтернатива компіляції — інтерпретація — технологія, при якій команда-інтерпретатор перетворює вхідний код на машинні команди безпосередньо під час виконання програми. Недоліком такого методу є необхідність аналізу і перетворення вхідного коду при кожному виконанні програми, що істотно впливає на продуктивність системи.

Байт-код займає проміжне місце між цими підходами. Він також є результатом компіляції, але не в машинний код, а в попередньо аналізований і оптимізований компактний код, який виконує програма-інтерпретатор. Отриманий байт-код теоретично може виконуватися на всіх обчислювальних системах, для яких існує відповідний інтерпретатор, без значних витрат ресурсів на аналіз вхідного коду.

Література

  1. ECMA-335. Common Language Infrastructure (CLI). 6th edition, June 2012 https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
  2. Tim Lindholm, Frank Yellin, Gilad Bracha, Alex Buckley TheJava® Virtual Machine Specification. Java SE 8 Edition. 2015-02-13 https://docs.oracle.com/javase/specs/jvms/se8/html/

Автор ВУЕ

О. В. Арістов


Покликання на цю статтю

Покликання на цю статтю: Арістов О. В. Байт-код // Велика українська енциклопедія. URL: https://vue.gov.ua/Байт-код (дата звернення: 6.05.2024).


Оприлюднено

Статус гасла: Оприлюднено
Оприлюднено:
20.05.2021

Важливо!

Ворог не зупиняється у гібридній війні і постійно атакує наш інформаційний простір фейками.

Ми закликаємо послуговуватися інформацією лише з офіційних сторінок органів влади.

Збережіть собі офіційні сторінки Національної поліції України та обласних управлінь поліції, аби оперативно отримувати правдиву інформацію.

Отримуйте інформацію тільки з офіційних сайтів


Міністерство оборони України Лого.png

Міністерство оборони України

МВС України Лого.jpg

Міністерство внутрішніх справ України

Генеральний штаб ЗСУ Лого.jpg

Генеральний штаб Збройних сил України

Державна прикордонна служба України Лого.jpg

Державна прикордонна служба України

Увага! Опитування читачів ВУЕ. Заповнити анкету ⟶