Байт-код
Байт-ко́д (англ. Bytecode, від байт і код), також Пі-код (англ. p-code від portable code — портативний код) — різновид системи команд, призначений для ефективного виконання команд інтерпретатором.
Команди байт-коду кодують числовими кодами розміром 1 байт, звідки й назва.
Історична довідка
Однієї з перших реалізацій байт-коду була віртуальна машина О-кода (англ. O-codemachine), розроблена наприкінці 1960-х у Кембриджському університеті вченим з інформатики М. Річардсом (1940; Велика Британія).
Найбільш поширеними платформами, які використовують байт-код, є віртуальні машини Java (Java Virtual Machine, JVM) та Microsoft.NET. Проводять еспериментальні розробки центральних процесорів, для яких байт-код є машинним кодом (наприклад, picoJava, розроблений компанією «Сан майкросістем» («Sun Microsystems»; США).
Характеристика
Процес створення програмного забезпечення часто містить стадію компіляції в машинний код (перетворення зручного для написання вихідного коду на систему команд, які можуть бути безпосередньо виконані центральним процесором обчислювальної системи). Оскільки системи команд різних обчислювальних систем мають відмінності, то можливість використання отриманого машинного коду обмежена вибраною під час компіляції системою.
Альтернатива компіляції — інтерпретація — технологія, при якій команда-інтерпретатор перетворює вхідний код на машинні команди безпосередньо під час виконання програми. Недоліком такого методу є необхідність аналізу і перетворення вхідного коду при кожному виконанні програми, що істотно впливає на продуктивність системи.
Байт-код займає проміжне місце між цими підходами. Він також є результатом компіляції, але не в машинний код, а в попередньо аналізований і оптимізований компактний код, який виконує програма-інтерпретатор. Отриманий байт-код теоретично може виконуватися на всіх обчислювальних системах, для яких існує відповідний інтерпретатор, без значних витрат ресурсів на аналіз вхідного коду.
Література
- ECMA-335. Common Language Infrastructure (CLI). 6th edition, June 2012 https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
- 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
Важливо!
Ворог не зупиняється у гібридній війні і постійно атакує наш інформаційний простір фейками.
Ми закликаємо послуговуватися інформацією лише з офіційних сторінок органів влади.
Збережіть собі офіційні сторінки Національної поліції України та обласних управлінь поліції, аби оперативно отримувати правдиву інформацію.
Отримуйте інформацію тільки з офіційних сайтів