Java: Statisk Linking

Når det gjelder utvikling av programvare, er det en god ting å være en lat programmerer. Hvis en programmerer gjenbruker kode som han, eller noen andre, har allerede skrevet, kan han bruke mer tid på å jobbe på koden for nye funksjoner. Utviklere kan innlemme eksisterende kode biblioteker med enten statisk eller dynamisk linking. Java bruker dynamisk linking som standard, men programmerere kan statisk knytte sine egne filer.

programvare~~POS=TRUNC biblioteker

Programvaren bibliotekene på hvilke programmer som er avhengig kan enten være for store systemer, slik som 3D-grafikk programvare, eller inneholde kode som utfører funksjoner som er spesifikke for bestemte kategorier av programvare. Måten en bibliotekfiler er knyttet til programmets filer vil avhenge av hvor vanlig biblioteket er, og installasjonsprosesser for enkelte operativsystemer. Linking kan være statisk, der et program kjør omfatter all biblioteket koden den trenger, eller dynamisk, der programmet ser for bibliotekfiler på maskinen utfører det.

dynamisk Linking

All linking er gjort av et programmeringsspråk er kompilatoren. Når et program er dynamisk koblet, forteller kompilatoren programmet hvor du finner nødvendige bibliotekfiler i bestemte operativsystemer. Hvis biblioteket filen er ikke der kompilatoren fortalte at programmet skal se ut, vil søknaden ikke kunne kjøre skikkelig. Dynamisk linking krever at bibliotekfiler følge en enhetlig prosess når de installerer på brukernes maskiner, med filene havne innenfor en bestemt katalogbane. Uten denne forutsigbarhet, kan programmerere ikke fortelle dynamisk linket programmer hvor du finner bibliotek filer.

statisk Linking

Når et program er statisk linket, setter kompilatoren binærkode for hver bibliotekfilen som et program trekker i den kjør den produserer. Denne prosessen vil gi en større kjørbar fil enn en dynamisk knyttet program, men sikrer at et program vil kjøre riktig på sluttbrukerens maskin. Programmerere vanligvis bruker denne teknikken for programvarebiblioteker som er uvanlig og neppe å bli installert på den gjennomsnittlige PC.

JVM Linking

Java utfører sin bytecode med JVM, som omfatter alle filene i Javas standardbibliotek. På grunn av dette, vil Java-kompilatoren automatisk bruke dynamisk linking for enhver standard bibliotekfilen. Men noen ganger Java-programmerere stole på eldre eller tilpassede versjoner av standard bibliotek filer. Hvis en programmerer inneholder teksten "MyLibrary strekker StandardLibrary" på toppen av en bibliotekfilen, der "MyLibrary" er tittelen hun ønsker å bruke for henne bibliotekfilen og "StandardLibrary" er bibliotekfilen hun ønsker å erstatte, vil kompilatoren statisk knytte utviklerens versjon av biblioteket filen til Java-program.