Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1399302
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: Java

2013-04-09 20:46:55

      每一个java程序都会产生一个java虚拟机的实例。并不是说一个物理机上,运行多个java应用程序就只有一个java虚拟机实例,多少个java应用程序就有多少个java虚拟机实例。
      java虚拟机可以是一种具体实现,也可以是一种规范(类似ARM)。
      java虚拟机中存在的栈空间包括:java方法的栈,操作数的栈,本地方法的栈(C/C++写的函数)。
      java虚拟机中的线程在创建时就会产生java方法栈,操作数栈,以及程序计数器PC。
      java虚拟机中的执行引擎,就是字节码的解释器,要将字节码换成具体机器上的机器码执行,每个执行引擎的实例就是一个线程,多线程实际上就是多个执行引擎。
     java虚拟机没有寄存器,采用的还是栈式体系,C语言执行体系也是栈帧式的。
     java线程中执行java方法时,参数从左到右的方式入栈,C语言函数调用是采用从右至左的方式入栈。
    
阅读(1754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~