在编写Java代码或任何其他语言时,系统调用是如何完成的?

在编写Java代码或任何其他语言时,系统调用是如何完成的?,java,c,operating-system,Java,C,Operating System,在系统编程课上,我们被告知所有的系统调用都是用c语言进行的。例如,打开文件进行读/写。java在后台运行c代码吗?是的,java在后台运行c代码。使用本机关键字 例如:System.currentTimeMillis()是本机方法 下面是如何使用本机代码的一个很好的解释: 系统调用不是用C语言进行的。它们几乎完全是用汇编语言或像BLISS这样的语言来完成的,这些语言可以访问硬件指令 系统调用需要触发异常才能将处理器置于保护模式 取决于运行程序的操作系统,因为JVM的实现依赖于平台。我想你甚至可以

在系统编程课上,我们被告知所有的系统调用都是用c语言进行的。例如,打开文件进行读/写。java在后台运行c代码吗?

是的,java在后台运行c代码。使用本机关键字

例如:System.currentTimeMillis()是本机方法

下面是如何使用本机代码的一个很好的解释:
系统调用不是用C语言进行的。它们几乎完全是用汇编语言或像BLISS这样的语言来完成的,这些语言可以访问硬件指令


系统调用需要触发异常才能将处理器置于保护模式

取决于运行程序的操作系统,因为JVM的实现依赖于平台。我想你甚至可以为Java在虚拟机上运行的javascript(如果它还不存在的话)编写一个JVM。虚拟机的代码可以用任何语言编写,只要它满足Java虚拟机(JVM)规范中规定的要求。但的确,JVM(或至少部分JVM)通常是用C编写的。