JVM JIT是否生成系统调用指令?

时间:2018-12-09 09:08:07

标签: java linux jvm system-calls jit

我想知道Java代码是如何进行syscall的,JIT编译器是直接生成syscall指令的,还是只是对libc函数(或其他基本库函数)的调用?

1 个答案:

答案 0 :(得分:0)

Hotspot JVM为Java代码生成机器代码(不支持进行系统调用)。

所有进行系统调用的代码都在本机方法中。

因此,当Java要进行系统调用时,您必须调用一些本机代码来为您执行此操作。

有些库可用于包装本地调用。例如。 JNA和JNR-FFI。这样一来,您就可以调用c库,而不会破坏本机代码。