JVM JIT 是否生成系统调用指令?
Does the JVM JIT generate syscall instructions?
我想知道 Java 代码如何进行系统调用,JIT 编译器是直接生成系统调用指令,还是只是调用 libc 函数(或其他基本库函数)?
Hotspot JVM 为 Java 代码生成机器代码(不支持进行系统调用)。
进行系统调用的所有代码都在本机方法中。
所以当 Java 想要进行系统调用时,您必须调用一些本机代码来为您完成。
您可以使用一些库来包装本机调用。例如。 JNA 和 JNR-FFI。这允许您调用 c 库而无需编写本机代码。
我想知道 Java 代码如何进行系统调用,JIT 编译器是直接生成系统调用指令,还是只是调用 libc 函数(或其他基本库函数)?
Hotspot JVM 为 Java 代码生成机器代码(不支持进行系统调用)。
进行系统调用的所有代码都在本机方法中。
所以当 Java 想要进行系统调用时,您必须调用一些本机代码来为您完成。
您可以使用一些库来包装本机调用。例如。 JNA 和 JNR-FFI。这允许您调用 c 库而无需编写本机代码。