Java: Static Linking

July 23

Quando si parla di sviluppo del software, è una buona cosa per essere un programmatore pigro. Se un programmatore riutilizza il codice che lui, o qualcun altro, ha già scritto, si può spendere più tempo a lavorare sul codice per nuove funzioni. Gli sviluppatori possono incorporare librerie di codice esistente con uno linking statico o dinamico. Java utilizza il collegamento dinamico per impostazione predefinita, ma i programmatori possono collegarsi staticamente i propri file.

librerie software

Le librerie software su cui i programmi dipendono può essere sia per i principali sistemi, come ad esempio software di grafica 3D, o contenere codice che esegue funzioni specifiche per particolari categorie di software. Il modo in cui i file di una biblioteca sono collegati ai file del programma dipenderà da quanto sia comune la biblioteca è, ed i processi di installazione per i singoli sistemi operativi. Linking può essere statico, in cui eseguibile del programma include tutto il codice della libreria è necessario, o dinamica, in cui il programma cerca i file di libreria sulla macchina eseguirlo.

collegamento dinamico

Tutto collegamento avviene compilatore di un linguaggio di programmazione. Quando un programma è collegato dinamicamente, il compilatore indica l'applicazione dove trovare file di libreria necessari in particolare dei sistemi operativi. Se il file di libreria non è dove il compilatore ha detto il programma di guardare, l'applicazione non sarà in grado di funzionare correttamente. Il collegamento dinamico richiede che i file di libreria seguono un processo uniforme quando si installa sui computer degli utenti, con i file di finire all'interno di una specifica percorso di directory. Senza questa prevedibilità, i programmatori non possono dire i programmi collegati dinamicamente dove trovare file di libreria.

collegamento statico

Quando un programma è collegato staticamente, il compilatore mette il codice binario per ogni file di libreria in cui un'applicazione attira l'eseguibile che produce. Questo processo produce un file eseguibile più grande di un programma collegato dinamicamente, ma assicura che un programma verrà eseguito correttamente sul computer dell'utente finale. I programmatori di solito usano questa tecnica per librerie software che sono rari e difficilmente essere installato nel computer media.

JVM Linking

Java bytecode esegue la sua con la JVM, che include tutti i file nella libreria standard di Java. A causa di questo, il compilatore Java utilizzerà automaticamente il collegamento dinamico per qualsiasi file di libreria standard. Tuttavia, a volte i programmatori Java si basano su versioni precedenti o personalizzate di file di libreria standard. Se un programmatore comprende il testo "MyLibrary estende StandardLibrary" nella parte superiore di un file di libreria, dove "MyLibrary" è il titolo che vuole usare per il suo file di libreria e "StandardLibrary" è il file di libreria che vuole sostituire, il compilatore collegare staticamente versione dello sviluppatore del file di libreria per l'applicazione Java.