V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Richard14
V2EX  ›  问与答

Jvm 是哪一种类的虚拟机呢?是栈式虚拟机吗?

  •  
  •   Richard14 · 2021-08-09 12:01:21 +08:00 · 1142 次点击
    这是一个创建于 1234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚开始学习虚拟机的概念,不太清楚。似乎 python 虚拟机是一个栈式虚拟机,因为查看解释出来的机器码很明显是用栈的逻辑实现的。。。jvm 呢?是另一种不同设计的虚拟机?

    4 条回复    2021-08-09 13:11:56 +08:00
    xarthur
        1
    xarthur  
       2021-08-09 12:12:26 +08:00
    Sun 在设计抽象意义上 JVM 的是基于栈的。
    但是 JVM 也有不同的实现比如 Dalvik 就是基于寄存器的。
    但是 Dalvik 真的能算是 JVM 吗?这就是另一个话题了。
    Richard14
        2
    Richard14  
    OP
       2021-08-09 12:25:52 +08:00
    @xarthur 栈虚拟机我感觉还是挺好理解的,另外一种不是很理解。所以 jvm 本身是栈的话,似乎在不同语言实现一个最基本功能的 jvm 并不复杂?
    Jooooooooo
        3
    Jooooooooo  
       2021-08-09 12:51:19 +08:00
    @Richard14 github 上有, 可以搜一下.
    icyalala
        4
    icyalala  
       2021-08-09 13:11:56 +08:00
    按照 JVM 最初设计那套指令集来说是基于栈的,
    但现在很多实际运行是 JIT 或者 AOT 的,这个概念就没什么意义了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.