Kod bajtowy Javy – lista instrukcji do wykonania przez wirtualną maszynę Javy (JVM). Każdy kod operacji kodu bajtowego ma jeden bajt długości, chociaż niektóre kody operacji wymagają parametrów, co sprawia, że mamy dużo wielobajtowych instrukcji. Nigdy nie użyto wszystkich możliwych 256 kodów operacyjnych.

Związek z językiem Java Programista języka Java w rzeczywistości nie musi wiedzieć, jak działa kod bajtowy Javy. Jednak w piśmie IBM developerWorks zasugerowano: „Znajomość kodu bajtowego Javy pomaga programiście tak, jak znajomość asemblera pomaga programistom języków C i C++”.

Instrukcje Każdy bajt może mieć 256 różnych wartości. Spośród nich w 0x00 przez 0xca, 0xfe, i 0xff są przypisane wartości. 0xba jest nieużywany z powodów historycznych. 0xca jest zarezerwowany jako instrukcja przerwania dla debuggerów i nie jest używany w języku. Podobnie 0xfe i 0xff nie są używane, gdyż zarezerwowane są do wewnętrznego użytku maszyny wirtualnej.

Instrukcje można podzielić na następujące grupy: ładujące i zapisujące (np. aload_0, istore), arytmetyczne i logiczne (np. ladd, fcmpl), zmieniające typ (np. i2b, d2i), tworzące obiekt i manipulujące nim (np. new, putfield), przenoszące sterowanie (np. ifeq, goto), wywołujące metodę i wracające z niej (np.