Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JVM JIT是否生成系统调用指令?_Java_Linux_Jvm_System Calls_Jit - Fatal编程技术网

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

Java JVM JIT是否生成系统调用指令?,java,linux,jvm,system-calls,jit,Java,Linux,Jvm,System Calls,Jit,我想知道Java代码是如何进行系统调用的,JIT编译器是直接生成系统调用指令,还是只调用libc函数(或其他基本库函数)?Hotspot JVM为Java代码生成机器代码(不支持进行系统调用) 所有进行系统调用的代码都在本机方法中 因此,当Java想要进行系统调用时,您必须调用一些本机代码来完成 有一些库可用于包装本机调用。例如JNA和JNR-FFI。这允许您在不编写本机代码的情况下调用c库。您需要指定一个特定的JVM,例如HotSpot。也就是说,大多数人会使用libc电话。谢谢。你知道不使用

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

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

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

因此,当Java想要进行系统调用时,您必须调用一些本机代码来完成


有一些库可用于包装本机调用。例如JNA和JNR-FFI。这允许您在不编写本机代码的情况下调用c库。

您需要指定一个特定的JVM,例如HotSpot。也就是说,大多数人会使用libc电话。谢谢。你知道不使用libc的JVM吗?Java代码不直接使用
libc
,还有一些基于硬件的JVM可能没有libc。“不直接使用
libc
”的意思是“但归根结底它有”?现在我不关心基于硬件的JVM。。。