文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java虚拟机的研究与实现(1)

2023-06-03 06:51

关注

Java虚拟机的研究与实现(1)

[@more@]

引言

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文件通过类装载器装载到在逻辑上被称为方法区的内存单元中的过程。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯