java虚拟机的运行过程

Posted on 2005-11-28 17:46 nemo 阅读(581) 评论(0)  编辑  收藏 所属分类: 编译器、虚拟机
 

java虚拟机对“运行时数据区”的描述是相当抽象的。不同的虚拟机实现可能具有很不同的内存限制,有的实现可能有大量的内存可用,有的可能很少。有的实现可以利用虚拟内存,有的则不能。规范本身对“运行时数据区”只有抽象的描述,这就使得JAVA虚拟机可以很容易得在各种计算机和设备上实现。

java虚拟机没有寄存器,其指令集使用java栈来存储中间数据。这样设计的原因使JAVA虚拟机的指令集尽量紧凑,同时也便于JAVA虚拟机在那些只有很少通用寄存器的平台上实现。另外,有助于虚拟机实现的动态编译器和即时编译的代码优化。

装载、连接以及初始化过程:

  1. 装载——查找并装载类型的二进制数据
  2. 连接——执行验证,准备以及解析(可选)

验证

确保被倒入类型的正确性。

准备

为类变量分配内存,并将其初始化为默认值。

解析

把类型中的符号引用转换为直接引用。

  1. 初始化——将类变量初始化为正确的初始值

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 21, comments - 74, trackbacks - 0, articles - 3

Copyright © nemo