2013年2月1日

JVM(Java虚拟机)内存模型(转载/整理)

摘要: Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM是为Java字节码定义的一种独立于具体平台的规格描述,是Java平台独立性的基础。对于字节码指令集不感兴趣,直接看寄存器。JVM设置了4个最为常用的寄存器。它们是: pc程序计数器 optop操作数栈顶指针 frame当前执行环境指针 vars指向当前执行环境中第一个局部变量的指针 所有寄存器均为32位。pc用于记录程序的执行。optop,frame和vars用于记录指向Java栈区的指针。至于为什么只设置4个寄存器,是出于这样的考量:如果虚拟机定义较多的寄存器,便可以从中得到更多的信息而不... 阅读全文

posted @ 2013-02-01 20:35 夜月升 阅读(401) 评论(0) 推荐(0) 编辑

JAVA如何称为跨平台语言(转载/整理)

摘要: Java原程序编译后生成的字节码就相当于C++原程序编译后的80x86的机器码(二进制程序文件),JVM虚拟机相当于80x86计算机系统,Java解释器相当于80x86CPU。在80x86CPU上运行的是机器码,在Java解释器上运行的是Java字节码。Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台下都有相应Java解释器程序,这也是Java并不能在所有的 阅读全文

posted @ 2013-02-01 20:24 夜月升 阅读(210) 评论(0) 推荐(0) 编辑

导航