java虚拟机中的java方法的栈是采用数组方式栈,按数组下标取元素,而操作数栈只有压栈和出栈。
计算机/虚拟机都是以计算为中心,存储为辅助计算的。
java虚拟机的设计中,也暗含了计算机组成原理中的一些理念。
java程序的执行也和C程序执行类似,有类似的代码区,堆区,栈区;代码区算是只读,堆区动态分配空间,栈区主要程序执行时的临时内存区,可以配置堆的初始大小、最大、最小值,也可以配置栈的初始大小、最大、最小值。
java程序的执行过程中的java方法栈中的参数,临时变量它们的值是有区别的,基本类型的变量都是在栈中存储实际值,复杂类型在java方法栈存储它在堆中的引用,可以认为引用在java虚拟机中算是一种寻址方式。真正的寻址操作都是在执行引擎中进行的。
java对象内存表示,可以采用类似C++的对象内存表示,带有方法表。
java执行引擎中的程序计数器表示的是下一条字节码的位置,类似计算机组成原理中的PC,同样程序计数器的值是下一条指令在class文件中的地址的偏移量。
阅读(996) | 评论(0) | 转发(0) |