Bayt kodu, yalnızca sanal makine olarak tanımlanan bir yazılım programı tarafından yorumlanabilen yazılım bilgisayarı nesne kodudur. Birçok modern yazılım geliştirme platformunda, yazılım programı ve bilgisayar donanımı arasına tercüman yerleştirdiği için düşük seviyeli makine koduna göre bytecode tercih edilir. Makine kodu, belirli bir platformda düzgün şekilde çalışması için her donanım platformunda derleme gerektiren platforma bağımlıdır.
Yazılım geliştirme paradigmaları zaman içinde olgunlaştıkça, bilgisayarın donanımı ile bilgisayarda çalışan yazılım arasında dış yorumlama katmanlarının kullanımı da vardır. Yazılımın erken yaratılmasının başlangıcında, geliştiriciler bilgisayar donanımına, sürücülere ve temel işletim sistemlerine bağımlıydılar. Bu bağımlılık, geliştiricileri, platform bağımsızlığını çok zorlaştıran ve belirli donanım ve yazılım tedarikçilerine sıkı sıkıya bağlı yazılım büyümesini sıkıca bağlayan, belirli bilgisayarların birçok yönünü yakından anlamaya zorladı.
Bayt kodu oluşturulması, yazılım geliştirme topluluğunda bir platform bağımsızlığı ortamı yarattı. Bu metaforun kullanılmasıyla, yazılım geliştiriciler bir kez yazabilir ve her yerde kullanabilir. Geliştiriciler, belirli bir bilgisayarın yerel sürücülerini anlamaya zorlanmazlar ve yazılımın çalışacağı altta yatan işletim sistemiyle de ilgilenmezler.
Sanal bir makine, Java ™ programlama dilinde, bayt kodunu yorumlayacak yazılım programını temsil etmek için kullanılan bir terimdir. Bu sanal makine, bilgisayarın altındaki donanım ve işletim sistemiyle etkileşime geçmek için gereken şekilde byte kodunu dönüştürür. Sanal makine tarafından oluşturulan makine kodu, Java ™ yazılım programının geliştiricisinden gizlenir ve her platform için yazılım uygulamasının yeniden yazılmasını gerektirmeden birden çok platformda tam olarak çalışabilir.
Bayt kodunun içindekiler daha ileri bir konudur ve çoğu geliştiriciden anlaşılması için genellikle gerekli değildir. Bayt kodu insan tarafından okunabilen bir dil değildir ve sınıfların, yöntemlerin ve nesnelerin kapsamının ve bunların iç içe geçme sınıflarının sayısal olarak kodlanmış temsillerinden oluşur. Her bytecode opcode, uzunluğu tek bir bayttır.
Modern bilgisayarların komutlarda çalışması için gereken makine dili, satıcı tarafından doğada tescillidir. Her donanım ve işletim sistemi, benzersiz bir işleme yöntemi, bellek ayırma ve görev kullanımı yöntemlerine sahiptir. Bir bytecode yazılım geliştirme uygulaması kullanarak, sanal makine tercümanı, tescilli platformda çalıştırılması gereken makine kodunu oluşturmaktan sorumludur.


