Java - 库和本机库之间的区别

时间:2010-05-18 19:56:49

标签: java jdbc native

根据java,有人能告诉我库和本机库之间的区别吗?我在以下行找到了“本地库”一词:

  

Type 1 - 实现的驱动程序   JDBC API作为另一个数据的映射   访问API,例如ODBC。司机   这种类型通常依赖于a   本土图书馆,限制他们的   可移植性。 JDBC-ODBC Bridge   驱动程序是类型1的示例   驱动程序。

您可以找到here

4 个答案:

答案 0 :(得分:15)

“Native Library”通常表示系统使用的非Java库(所以C / C ++等)。想想普通的DLL或库。

Java可以通过JNI加载这些本机库。

答案 1 :(得分:1)

本机库是包含“本机”代码的库。也就是说,已为特定硬件体系结构或操作系统(如x86或Windows)编译的代码。

在项目中包含此类本机库可能会破坏应用程序的平台独立性。

答案 2 :(得分:1)

在Java的上下文中,库是一个用Java编写的库,它以Java字节码* .class文件的形式提供,通常压缩成JAR存档。相比之下,本机库是编译为机器代码的库,通常用C或C ++编写。本机库是* .so,* .dylib,* .dll,* .a或* .lib文件(取决于您的平台),它们链接到Java Native Interface(JNI)库并将功能从C或C ++公开到Java通过Java Native Interace机制。

答案 3 :(得分:0)

在这种情况下,“库”被认为是指用Java编写的库(并且可能以jar形式分发),而“本机库”是指用C或OpenForth编写的库并编译成机器代码