Hva er en bytecode?
Bytecode er programvare -datamaskinobjektkode som bare kan tolkes av et program, vanligvis beskrevet som virtuell maskin. I mange moderne programvareutviklingsplattformer foretrekkes Bytecode fremfor maskinkode på lavt nivå da den plasserer en tolk mellom programvaren og datamaskinens maskinvare. Maskinkode er plattformavhengig som krever sammenstilling på hver maskinvareplattform for å utføre riktig på den spesifikke plattformen.
ettersom programvareutviklingsparadigmene har modnet over tid, så har også bruken av eksterne tolkningslag mellom maskinvaren til en datamaskin og programvaren som kjører på datamaskinen. I begynnelsen av tidlig programvareoppretting var utviklere avhengig av datamaskinvare, drivere og de underliggende operativsystemene. Denne avhengigheten tvang utviklerne til å forstå mange aspekter av de spesifikke datamaskinene, noe som gjorde plattformuavhengighet veldig vanskelig og programvarevekst tett koblet til spesifikke leverandørerav maskinvare og programvare.
Opprettelsen av bytecode har skapt et miljø med plattformuavhengighet i programvareutviklingssamfunnet. Med bruk av denne metaforen kan programvareutviklere skrive en gang og bruke overalt. Utviklere blir ikke tvunget til å forstå de innfødte driverne til en spesifikk datamaskin, og er heller ikke opptatt av det underliggende operativsystemet som programvaren skal kjøre på.
En virtuell maskin er betegnelsen som brukes i Java ™ -programmeringsspråket for å representere programvaren som vil tolke bytekoden. Denne virtuelle maskinen konverterer bytekoden etter behov for å samhandle med det underliggende maskinvaren og operativsystemet i datamaskinen. Maskinkoden som genereres av den virtuelle maskinen er skjult for utvikleren av Java ™ -programmet og kan fullt ut fungere på flere plattformer uten å kreve omskrivning av software applikasjon for hver plattform.
Internals for bytecode er mer et forhåndsemne og vanligvis ikke nødvendige fra de fleste utviklere for å forstå. Bytecode er ikke et menneskelig lesbart språk og består av numeriske kodede representasjoner av klasser, metoder og omfanget av objektene og deres hekking med klasser. Hver bytecode opcode er en enkelt byte i lengde.
Maskinspråket som kreves for at moderne datamaskiner skal fungere på kommandoer er proprietært av leverandør. Hvert maskinvare og operativsystem har en unik måte å håndtere prosesser, minnetildeling og oppgaveutnyttelse. Ved å bruke en bytekodeprogramvareutviklingsapplikasjon, er den virtuelle maskintolken ansvarlig for å lage maskinkoden som vil bli pålagt å kjøre på den proprietære plattformen.