Cuando se trata de desarrollo de software , es una buena cosa para ser un programador perezoso. Si un programador reutiliza código que él, o alguien más, ya se ha escrito , puede pasar más tiempo trabajando en el código para nuevas funciones . Los desarrolladores pueden incorporar bibliotecas de código existentes con la vinculación estática o dinámica . Java utiliza vinculación dinámica por defecto, pero los programadores puede enlazar estáticamente sus propios archivos . Bibliotecas de software
Las bibliotecas de software en el que los programas dependen tanto puede ser para los grandes sistemas, como el software de gráficos 3D , o contienen código que realiza funciones específicas para determinadas categorías de software . La forma en que los archivos de una biblioteca están vinculados a los archivos del programa dependerá de qué tan común es la biblioteca , y los procesos de instalación para los sistemas operativos individuales. La vinculación puede ser estático , en el que ejecutable de un programa incluye todo el código de la biblioteca que necesita, o dinámico , en el que el programa busca los archivos de biblioteca en la máquina de ejecutarlo.
Enlazado dinámico
Todos vinculación se realiza por el compilador de un lenguaje de programación . Cuando un programa se vincula dinámicamente , el compilador indica a la aplicación dónde encontrar los archivos de biblioteca necesarios en determinados sistemas operativos . Si el archivo de la biblioteca no es que el compilador le dijo al programa a buscar , la aplicación no será capaz de funcionar correctamente . La vinculación dinámica requiere que los archivos de la biblioteca siguen un proceso uniforme cuando instalan en las máquinas de los usuarios, con los archivos que terminan en una vía de acceso específica. Sin esta previsión , los programadores no pueden decir los programas enlazados dinámicamente dónde encontrar los archivos de la biblioteca.
Vinculación estática
Cuando un programa está enlazado estáticamente, el compilador pone el código binario para cada archivo de biblioteca en la que una solicitud se basa en el ejecutable que produce. Este proceso producirá un archivo ejecutable grande que un programa de enlace dinámico , pero se asegura de que un programa se ejecutará correctamente en el equipo del usuario final. Los programadores suelen utilizar esta técnica para las bibliotecas de software que no son comunes y poco probable de ser instalado en la computadora promedio.
JVM Vinculación
Java ejecuta el bytecode a la JVM , lo que incluye todos los archivos de la biblioteca estándar de Java. Debido a esto, el compilador Java utilizará automáticamente el enlace dinámico para cualquier archivo de la biblioteca estándar. Sin embargo , a veces los programadores de Java se basan en versiones anteriores o personalizada de archivos de la biblioteca estándar. Si un programador incluye el texto " MyLibrary extends StandardLibrary " en la parte superior de un archivo de la biblioteca , donde " MyLibrary " es el título que quiere usar para su archivo de biblioteca y " StandardLibrary " es el archivo de biblioteca que quiere sustituir , el compilador enlazar estáticamente la versión del desarrollador del archivo de biblioteca de la aplicación Java.