刚开始学习虚拟机的概念,不太清楚。似乎 python 虚拟机是一个栈式虚拟机,因为查看解释出来的机器码很明显是用栈的逻辑实现的。。。jvm 呢?是另一种不同设计的虚拟机?
1
xarthur 2021-08-09 12:12:26 +08:00
Sun 在设计抽象意义上 JVM 的是基于栈的。
但是 JVM 也有不同的实现比如 Dalvik 就是基于寄存器的。 但是 Dalvik 真的能算是 JVM 吗?这就是另一个话题了。 |
2
Richard14 OP @xarthur 栈虚拟机我感觉还是挺好理解的,另外一种不是很理解。所以 jvm 本身是栈的话,似乎在不同语言实现一个最基本功能的 jvm 并不复杂?
|
3
Jooooooooo 2021-08-09 12:51:19 +08:00
@Richard14 github 上有, 可以搜一下.
|
4
icyalala 2021-08-09 13:11:56 +08:00
按照 JVM 最初设计那套指令集来说是基于栈的,
但现在很多实际运行是 JIT 或者 AOT 的,这个概念就没什么意义了。 |