
Computerprogramma’s worden geschreven door programmeurs. Een computerprogramma bestaat uit een reeks instructies die door de computer worden uitgevoerd. De programmacode die wordt geschreven, heet de broncode. Deze broncode kan niet rechtstreeks door een computer worden verwerkt. De broncode moet altijd eerst worden omgezet naar machinecode (vergelijkbaar met binaire code). Daarna kan het programma pas worden uitgevoerd. Het proces van het omzetten van broncode naar uitvoerbare code verloopt, afhankelijk van de gebruikte programmeeromgeving, niet altijd op dezelfde manier.
In Java wordt de broncode van het programma geschreven in een voor mensen leesbare, 'platte' tekst. Met platte tekst bedoelen we tekst zonder codes voor opmaak van de tekst. De broncode wordt opgeslagen in een bestand met de bestandsnaamextensie .java. Daarna moet dit bestand worden omgezet naar een formaat dat door de computer kan worden verwerkt. Daarvoor wordt een apart programma, de compiler, gebruikt. Een compiler zet broncode om naar machinetaal (een soort binaire code) zodat deze uitgevoerd kan worden. In Java levert het compileren van de broncode een .class bestand op. Dit bestand bevat Java bytecode.
Deze bytecode is echter geen volwaardige machinecode en kan dan ook niet rechtstreeks worden uitgevoerd. Het is een soort tussenvorm. De code is, in tegenstelling tot machinecode, processoronafhankelijk. Er is een speciaal geschreven programma nodig om de bytecode op een bepaald platform uit te voeren. Dat programma heet de Java Virtual Machine.
