Questions tagged «vm-implementation»

5
Java的虚拟机和CLR
作为对MSIL和Java字节码之间差异的问题的一种跟进?,Java虚拟机的工作方式与Java虚拟机的主要(主要)区别或相似之处是什么.NET Framework 公共语言运行库(CLR)是否有效? 另外,是 .NET框架 CLR是“虚拟机”还是不具有虚拟机的属性?

3
为什么JVM基于堆栈,而Dalvik VM基于寄存器?
我很好奇,为什么Sun决定使JVM基于堆栈,而Google决定使DalvikVM基于寄存器? 我想JVM不能真正假设目标平台上有一定数量的寄存器可用,因为它应该独立于平台。因此,它只是将寄存器分配等推迟到JIT编译器。(如我错了请纠正我。) 所以Android的人想:“嘿,那效率低下,让我们马上去注册虚拟机吧……”?但是,等等,有多个不同的android设备,Dalvik瞄准了多少个寄存器?Dalvik操作码是否为一定数量的寄存器进行了硬编码? 市场上当前所有的Android设备是否都具有相同数量的寄存器?还是在dex加载期间执行了寄存器重新分配?所有这些如何融合在一起?

5
Java常量池的目的是什么?
我目前正在尝试更深入地研究Java虚拟机的规范。我一直在在线阅读《 JVM内幕》,其中有一个我似乎无法理解的令人困惑的抽象:常量池。这是本书的摘录: 对于它加载的每种类型,Java虚拟机必须存储一个常量池。常量池是类型使用的一组有序的常量,包括文字(字符串,整数和浮点常量)以及对类型,字段和方法的符号引用。常量池中的条目由索引引用,就像数组的元素一样。因为常量池持有对类型使用的所有类型,字段和方法的符号引用,所以常量池在Java程序的动态链接中起着核心作用。 关于以上内容和CP,我有几个问题: CP是否位于.class每种类型的文件中? 作者“符号参考”是什么意思? 用简单的英语讲,恒定池的目的是什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.