2010-05-18 21 views
8

¿Podría alguien decirme la diferencia entre la biblioteca y la biblioteca nativa en términos de Java? He encontrado la palabra "biblioteca nativa" en la siguiente línea:Diferencia entre la biblioteca y la biblioteca nativa

Tipo 1 - controladores que implementan la API JDBC como una correlación con otros datos API de acceso, tales como ODBC. Controladores de este tipo generalmente dependen de una biblioteca nativa , lo que limita su portabilidad . El controlador JDBC-ODBC Bridge es un ejemplo de un controlador Type 1 .

que se puede encontrado here

Respuesta

13

"Biblioteca nativa" generalmente significa una biblioteca no Java que es utilizada por el sistema (por lo tanto, C/C++, etc.). Piensa en DLL o libs normales.

Java puede cargar estas bibliotecas nativas a través de JNI.

+0

+1 para la referencia a JNI – tangens

+0

¿Puede Java cargar archivos .dll a través de JNI? – aioobe

+0

Absolutamente. Solo lo he hecho con DLL diseñadas específicamente para trabajar con JNI, así que no estoy seguro si puedes cargar cualquier DLL, pero generalmente no es muy difícil crear un contenedor JNI para una biblioteca nativa normal (trabajo molesto molesto, pero no generalmente difícil). – Herms

1

Una biblioteca nativa es una biblioteca que contiene el código "nativo". Es decir, código que se ha compilado para una arquitectura de hardware o sistema operativo específico, como x86 o Windows.

Incluir dicha biblioteca nativa en su proyecto puede romper la independencia de la plataforma de su aplicación.

0

En este contexto, se asume que "biblioteca" hace referencia a una biblioteca escrita en Java (y probablemente distribuida como un contenedor) mientras que "biblioteca nativa" hace referencia a una biblioteca escrita en C o OpenForth y compilada a máquina código.

0

En el contexto de Java, una biblioteca está escrita en Java y está disponible en forma de código bytecode * .class de Java, normalmente comprimido en un archivo JAR. Por el contrario, una biblioteca nativa es aquella que se compiló para el código de máquina y generalmente se escribe en C o C++. Las bibliotecas nativas son archivos * .so, * .dylib, * .dll, * .a, o * .lib (según su plataforma) que enlazan con la biblioteca Java Native Interface (JNI) y exponen la funcionalidad de C o C++ a Java a través del mecanismo Java Native Interace.

Cuestiones relacionadas