java虚拟机的功能是执行java字节码,其编码实现是一个死循环。每个循环都是获取字节码并执行字节码的过程,因此与其他程序没有本质区别。主流的javavm大多是用c语言实现的,然后用汇编语言辅助实现,用java实现javavm的情况有一些,但不多。
下面是使用c语言在智能设备中实现虚拟机的一个片段。
此代码是短加法字节码的实现。
这段代码只是获取字节码并执行它。你认为javavm就是这样吗。
为了优化虚拟机的效率,很多人选择用汇编的方式重写执行频率高的代码。
小结是c语言实现的许多,将与汇编结合起来作为辅助工具。有其他语言,但不是主流。