Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42369
  • 博文数量: 5
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-10 14:29
个人简介

有态度的程序员

文章分类

全部博文(5)

文章存档

2018年(1)

2006年(4)

我的朋友
最近访客

分类: Java

2006-01-10 14:29:23

嵌入式虚拟机实际上就是我们平时在pc机上的可执行程序,无非它可以解释执行类文件定义的一些协议,相当于我们平时的对文件操作,只不过操作比较复杂而已。所以对于虚拟机一个可执行程序而言,无非也是代码区,堆区(通过内存申请)和栈区和全局数据区。所以当移植虚拟机时系统要提供给虚拟机多大的内存(包括上面所说的代码区等等)。至于虚拟机本身怎么分配安排这些内存则是java虚拟机提供者的事情了。而平时我们说的java语言里面的数据(java方法区,java堆,java栈,java寄存器,本地方法栈)怎么组织的那是另外一个概念,这是从java应用的角度上说的,从实质上说都是一些逻辑概念。在我认为,堆和栈完全可以用一全局静态数组,怎么管理这段内存那是虚拟机自己的事情,这样的好处java虚拟机的操作固定在某个内存段中,不会破坏其他模块的数据,当然虚拟机程序写错了就不可预料了:),并且当出现内存不足的情况问题只会出现在本模块中,而不是到其他模块找原因。当然虚拟机移植还包括输入输出设备的驱动提供,这些都由系统本身提供,包括网络,文件系统,键盘,显示,声音等输入输出设备。待续...
阅读(2650) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:java虚拟机规范

给主人留下些什么吧!~~