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

2022-09-04 01:41:24

谁能告诉我库和原生库在java方面的区别?我在以下行中找到了“本机库”一词:

类型 1 - 将 JDBC API 实现为映射到另一个数据访问 API(如 ODBC)的驱动程序。这种类型的驱动程序通常依赖于本机库,这限制了它们的可移植性。JDBC-ODBC 桥接驱动程序是类型 1 驱动程序的一个示例。

你可以在这里找到


答案 1

“本机库”通常是指系统使用的非Java库(因此C / C++等)。想想普通的 DLL 或库。

Java可以通过JNI加载这些原生库。


答案 2

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


推荐