java程序如何访问操作系统函数? 这是使用 JNI 吗?
最佳答案
当您的 Java 应用程序需要执行对 native 代码(即 Windows 中的 DLL)的调用时,使用 JNI。
JVM 本身是用 C/C++ 编程的,因此每个实现都使用可用于进行 SO 调用的操作系统 API 库(适用于 Windows 的 Win32 API)。
一次 Java 调用可能会导致一次操作系统调用(或者多次调用,或者没有调用,取决于 JVM 缓冲的 I/O),因此 JVM 使用来自 Java 的参数调用操作系统,并将结果返回给程序。
如果您的应用程序需要访问操作系统,必须通过 Java API,该 API 使某些操作系统功能可供您的程序使用,例如文件、套接字、窗口。由于多种原因,许多操作系统功能不适用于 Java 应用程序。
一些特殊功能可通过外部产品或库获得,例如串行 (COM)、并行和蓝牙端口。这些产品/库附带可供您的程序使用的 JAVA API,并且该 API 通过使用产品/库中包含的一些 native 库,使用 JNI 进行操作系统调用。
如果您需要 Java 或外部产品中不可用的操作系统特殊功能,请考虑创建一个 native 库,创建一个包装它的 JAVA API,并使用 JNI 从 API 调用它。您(和其他)应用程序可以使用 API 来访问这些功能。
关于java - java程序如何访问操作系统函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7443278/