Wat is een bytecode?

bytecode is software -computerobjectcode die alleen kan worden geïnterpreteerd door een softwareprogramma, meestal omschreven als virtuele machine. In veel moderne platforms voor softwareontwikkeling heeft Bytecode de voorkeur boven machinecode op laag niveau, omdat het een tolk plaatst tussen het softwareprogramma en de computerhardware. Machinecode is platformafhankelijk, waarvoor compilatie op elk hardwareplatform vereist is om correct op dat specifieke platform uit te voeren.

Omdat de softwareontwikkelingsparadigma's in de loop van de tijd zijn gerijpt, heeft ook het gebruik van externe interpretatielaag tussen de hardware van een computer en de software die op de computer loopt. Aan het begin van de vroege softwarecreatie waren ontwikkelaars afhankelijk van computerhardware, stuurprogramma's en de onderliggende besturingssystemen. Deze afhankelijkheid dwong de ontwikkelaars om veel aspecten van de specifieke computers te begrijpen, waardoor platformonafhankelijkheid zeer moeilijk werd en softwaregroei stevig gekoppeld aan specifieke leveranciersvan hardware en software.

Het maken van bytecode heeft een omgeving van platformonafhankelijkheid gecreëerd in de softwareontwikkelingscommunity. Met het gebruik van deze metafoor kunnen softwareontwikkelaars eenmaal schrijven en overal gebruiken. Ontwikkelaars worden niet gedwongen om de native chauffeurs van een specifieke computer te begrijpen, noch houden ze zich bezig met het onderliggende besturingssysteem waarop de software zal worden uitgevoerd.

Een virtuele machine is de term die wordt gebruikt in de Java ™ -programmeertaal om het softwareprogramma te vertegenwoordigen dat de bytecode interpreteert. Deze virtuele machine zal de bytecode indien nodig converteren om te communiceren met het onderliggende hardware en het besturingssysteem binnen de computer. De machinecode die wordt gegenereerd door de virtuele machine is verborgen voor de ontwikkelaar van het Java ™ softwareprogramma en kan volledig op meerdere platforms werken zonder een herschrijf van de softwarE -applicatie voor elk platform.

De internals van bytecode zijn meer een voorschotonderwerp en niet meestal noodzakelijk van de meeste ontwikkelaars om te begrijpen. Bytecode is geen menselijke leesbare taal en bestaat uit numerieke gecodeerde representaties van klassen, methoden en de reikwijdte van de objecten en hun nestelen met klassen. Elke bytecode -opcode is een enkele byte in lengte.

De machinetaal die nodig is voor moderne computers om op opdrachten te functioneren, is eigendom van aard door leverancier. Elk hardware- en besturingssysteem heeft een unieke manier om processen, geheugentoewijzing en taakgebruik te hanteren. Door een bytecode -softwareontwikkelingstoepassing te gebruiken, is de virtuele machine -tolk verantwoordelijk voor het maken van de machinecode die nodig is om op het eigen platform te worden uitgevoerd.

ANDERE TALEN