Java虚拟机的研究与实现(1)(java,实现,研究,编程语言)

时间:2024-05-03 05:50:48 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Java%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E7%A0%94%E7%A9%B6%E4%B8%8E%E5%AE%9E%E7%8E%B0%281%29

引言

Java虚拟机本质是就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。

kaffe虚拟机的简要分析

kaffe虚拟机采用了模块化的程序设计思想,它由多个独立的子系统组成。从功能模块上来分它主要分为:虚拟机总体驱动模块,类装载器模块,类执行模块, 数据区管理模块,内存管理模块,本地支持模块等等。kaffe虚拟机简要的程序流程图如图1所示。

Java虚拟机的研究与实现(1)498)this.style.width=498;" border="0" />

图1:kaffe虚拟机简要的程序流程图

Java虚拟机的实现

Java 源程序的执行过程为: Java源程序(.java)经过Java编译器编译生成字节码文件(.class),然后由类装载器将字节码文件装载到方法区中,然后进行连接验证,由Java虚拟机读取字节码,转换为特定平台的指令,并且在对应的CPU中执行。

本实现中采用的流程框架如下图所示:

Java虚拟机的研究与实现(1)498)this.style.width=498;" border="0" />

图2:本实现的主要框架

1、类装载、连接及初始化

类文件包括:魔数(magic),次、主版本号,常量池,类或接口访问修饰符,常量池索引(this_class和super_class),接口表,域表,方法表,类或接口的属性信息。其中最复杂的内容是常量池,它类似于传统语言编译过程中用到的符号表。

从原始的class文件到可以被Java虚拟机执行的内部数据格式,需要经过装载、连接和初始化这3个阶段。

装载是将class文件通过类装载器装载到在逻辑上被称为方法区的内存单元中的过程。

本文:Java虚拟机的研究与实现(1)的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:教师信息查询下一篇:

73 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18