Hvad er en Bytecode?
Bytecode er softwarecomputerobjekode, der kun kan tolkes af et softwareprogram, typisk beskrevet som virtuel maskine. I mange moderne softwareudviklingsplatforme foretrækkes bytecode frem for lavt niveau maskinkode, da det placerer en tolk mellem softwareprogrammet og computerhardware. Maskinkode er platformafhængig, hvilket kræver kompilering på hver hardwareplatform for at udføre korrekt på den specifikke platform.
Efterhånden som softwareudviklingsparadigmerne er modnet over tid, har også brugen af eksterne lag af fortolkning mellem hardware på en computer og softwaren, der kører på computeren. I begyndelsen af den tidlige oprettelse af software var udviklere afhængige af computerhardware, drivere og de underliggende operativsystemer. Denne afhængighed tvang udviklerne til intimt at forstå mange aspekter af de specifikke computere, hvilket gjorde platformuafhængighed meget vanskelig og softwarevækst tæt knyttet til specifikke leverandører af hardware og software.
Oprettelsen af bytecode har skabt et miljø med platformuafhængighed i softwareudviklingssamfundet. Ved hjælp af denne metafor kan softwareudviklere skrive en gang og bruge overalt. Udviklere er ikke tvunget til at forstå de oprindelige drivere til en bestemt computer, og de er heller ikke bekymrede for det underliggende operativsystem, som softwaren vil køre på.
En virtuel maskine er det udtryk, der bruges i Java ™ -programmeringssprog til at repræsentere det softwareprogram, der vil fortolke bytekoden. Denne virtuelle maskine konverterer bytekoden efter behov for at interagere med den underliggende hardware og operativsystem på computeren. Maskinkoden, der genereres af den virtuelle maskine, er skjult for udvikleren af Java ™ softwareprogrammet og kan fungere fuldstændigt på flere platforme uden at kræve en omskrivning af softwareprogrammet for hver platform.
Internt i bytecode er mere et emne på forhånd og er typisk ikke nødvendigt fra de fleste udviklere til at forstå. Bytecode er ikke et menneskeligt læseligt sprog og består af numeriske kodede repræsentationer af klasser, metoder og objekternes rækkevidde og deres indlejringskulturer. Hver bytecode opcode er en enkelt byte i længden.
Maskinsproget, der kræves for at moderne computere kan fungere på kommandoer, er ejendomsret af leverandøren. Hvert hardware og operativsystem har en unik måde at håndtere processer, hukommelsestildeling og opgaveudnyttelse. Ved at bruge en bytecode-softwareudviklingsapplikation er den virtuelle maskintolker ansvarlig for at oprette den maskinkode, der skal bruges til at køre på den proprietære platform.