חיפוש מונחים לפי ה-ABC:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

מה זה Bytecode?

ByteCode זה Object Code של תוכנת מחשב שיכול לעבור Interpreter רק ע"י תוכנית מחשב שהיא בדרך כלל Virtual Machine ולא תוכנית מחשב "אמיתי".

ה-Virtual Machine ממיר כל הוראה של מכונה להוראה ספציפית אותה המעבד המחשב יכול להבין. Bytecode זה תוצאה של קומפלציה של קוד מקור הכתוב בשפה שתומכת בפרדיגמה זו.

בהרבה פלטפורמות פיתוח תוכנה מודרניות, Bytecode מועדפת על קוד מכונה Low-Level כי הוא מפעיל Interpreter בין תוכנית המחשב וחומרת המחשב. קוד מכונה הוא תלוי פלטפורמה, דבר שדורש קומפלציה על כל פלטפורמת חומרה בנפרד בכדי לרוץ באופן תקין על אותה הפלטפורמה.

מרבית שפות המחשב, כמו C ו-C++, דורשות Compiler נפרד לכל פלטפורמת מחשב – כלומר, לכל מערכת הפעלה וסט ה-Instructions של המחשב נדרש Compiler לחומרה עליו הוא נבנה. היצירה של ByteCode יצרה סביבה של אי תלות בפלטפורמה. כלומר, מפתחי תוכנה יכולים לכתוב קוד מקור פעם אחת ולהשתמש בכל מקום.

השפה הטובה ביותר כיום שעושה שימוש ב-Bytecode ובגישת Virtual Machine היא Java. שפת LISP, המשמשת ביישומים של Artificial Intelligence, היא אחת השפות הראשונות שמקמפלת ByteCode. שפות אחרות שעושות שימוש ב-Bytecode או בגישה דומה הן Icon ו-Prolog.

ByteCode הוא הפורמט לקומפלציה של תוכניות Java. ברגע שתוכנית Java עברה המרה ל-Bytecode, ניתן להעביר אותה ברשת ולהפעיל אותה באמצעות JVM. ב-Java, ה-ByteCode מוכלל בקובץ Binary עם סיומת .CLASS.

Bytecode היא לא שפה קריאה ע"י בני אדם ומורכבת מייצוג קידוד נומרי של Classes, Methods, התכולה של ה-Objects והקינון שלהם בתוך ה-Classes.

ה-Virtual Machine תמיר את ה-Bytecode כפי שנדרש בכדי לפעול עם החומרה ומערכת ההפעלה בתוך המחשב. קוד המכונה שנוצר ע"י ה-Virutal Machine אינו נראה למפתח של תוכנת ה-Java ויכול לפעול על פלטפורמות מרובות ללא צורך בשכתוב יישום התוכנה עבור כל פלטפורמה.

במקום לתרגם הוראה אחת בכל פעם, את ה-Bytecode של Java אפשר לקמפל מחדש בכל פלטפורמה של מערכת מסויימת באמצעות JIT Compiler. בדרך כלל, זה יאפשר לתוכנית Java לרוץ מהר יותר.