Bytecode
Et begreb især knyttet til programmeringssproget Java. Ved oversættelse af programmer vil resultatet typisk være objektkode til enten den computer, der oversættes på, eller ved krydsoversættelse en anden computer. Javaoversættere benytter ofte en tredje mulighed, idet der oversættes til en form kaldet bytecode, som ikke direkte kan afvikles på en computer. Et program på bytecode-form afvikles af en fortolker JVM (Java Virtual Machine, se virtuel) på mål-computeren. Fortolkeren kan være et selvstændigt program, eller kan være indbygget i f.eks. en browser, hvilket især anvendes ved java-programmer, der er skrevet som applets.
Bytecode er et eksempel på mellemkode. Formålet med denne var i 1970'erne i høj grad at forenkle oversætterne og give mulighed for et avanceret udviklings- og testmiljø. Med Java-bytecode er der i høj grad også tænkt på distribution af programmmer på en maskinuafhængig oversat form. Et program på bytecode-form kan i princippet køre på enhver maskine, dvs. uden at kildeteksten skal distribueres og oversættes lokalt.
Der er også en sikkerhedsmæssig gevinst. Da bytecode fortolkes er det i princippet muligt at fange og forhindre sikkerhedsbrud forårsaget af ondsindede programmer som f.eks. virus. Med en Java-bytecode fortolker følger gerne en bytecode-verifier, som kan fange en stor del af potentielle problemer ved ukorrekte programmer.

