Quando si parla di sviluppo del software , è una buona cosa essere un programmatore pigro . Se un programmatore riutilizza 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 le librerie di codice esistenti con linking statico o dinamico . Java utilizza il collegamento dinamico di default, ma i programmatori possono linkare staticamente i propri file . Librerie software
Le librerie software su cui programmi dipendono può essere sia per i sistemi principali , come il software di grafica 3D , o contenere codice che esegue funzioni specifiche a particolari categorie di software . Il modo in cui i file di una libreria sono legati ai file del programma dipenderà dal modo comune la biblioteca è , ed i processi di installazione per i sistemi operativi individuali. Il collegamento può essere statico , in cui eseguibile del programma include tutto il codice della libreria di cui ha bisogno , o dinamico , in cui il programma cerca i file di libreria sulla macchina di eseguirlo.
Collegamento dinamico
Tutto collegamento è fatto da compilatore di un linguaggio di programmazione . Quando un programma è collegato dinamicamente , il compilatore indica all'applicazione dove trovare i file di libreria necessari in particolare i sistemi operativi . Se il file di libreria non è dove il compilatore ha detto al programma di guardare , l'applicazione non sarà in grado di funzionare correttamente . Il collegamento dinamico è necessario che i file di libreria seguono un processo uniforme quando si installa sui computer degli utenti , con i file che terminano entro un percorso di directory specifica. Senza questa prevedibilità , i programmatori non possono dire i programmi collegati dinamicamente dove trovare i file di libreria .
Collegamento statico
Quando un programma è linkato staticamente , il compilatore mette il codice binario per ogni file di libreria su cui l'applicazione attinge nel file eseguibile che produce. Questo processo produce un file eseguibile più grande di un programma collegato dinamicamente , ma assicura che il programma verrà eseguito correttamente sulla macchina dell'utente finale . I programmatori di solito usano questa tecnica per le librerie software che sono rari e improbabili per essere installato sul computer di media .
JVM Linking
Java esegue il bytecode 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 più vecchie o personalizzate di file di libreria standard. Se un programmatore comprende il testo " MyLibrary extends StandardLibrary " nella parte superiore di un file di libreria , dove " MyLibrary " è il titolo che vuole utilizzare per il suo file di libreria e " StandardLibrary " è il file di libreria che vuole sostituire , il compilatore statico collegare versione dello sviluppatore del file di libreria per l'applicazione Java .