首页> 中文学位 >基于Harmony的提前编译
【6h】

基于Harmony的提前编译

代理获取

目录

声明

摘要

第一章 绪论

1.1 研究的背景、意义和现状

1.2 研究内容和成果

1.3 论文结构安排

第二章 Java与Java虚拟机

2.1 Java

2.2 Java虚拟机

第三章 传统Java虚拟机编译技术

3.1 解释执行技术

3.2 即时编译技术

3.3 动态编译技术

3.4 其他编译技术

第四章 提前编译器的设计和核心实现

4.1 提前编译器设计

4.2 提前编译器核心实现

4.2.1 Java方法重定位

4.2.2 异常注册

4.2.3 方法常量区构造

4.2.4 类的动态加载

4.2.5 提前编译二进制文件

4.3 提前编译器的工作流程

4.3.1 创建二进制文件

4.3.2 编译运行二进制文件

第五章 实验结果与分析

第六章 总结与展望

6.1 总结

6.2 展望

参考文献

学术论文发表状况

致谢

展开▼

摘要

Java语言是一种优秀的面向对象程序设计语言,它具有跨平台、健壮安全和通用性等诸多优点。基于这些优点,Java语言在个人PC、游戏控制台、数据中心和互联网等很多领域得到了广泛的应用。随着互联网越来越深入人们的日常生活,特别是云计算技术和移动设备的高速发展,Java相比于其他高级编程语言更具备了显著优势和光明的未来。但同时Java语言也有一个相当明显的缺点,相比于C/C++,它的运行效率比较低,这在一定程度上影响了Java语言的应用前景。Java技术区别于其他高级语言的最重要部分是对Java虚拟机的引入,所有的Java程序都在Java虚拟机上运行。在程序运行时,Java虚拟机把Java源程序的字节码编译成机器可以执行的本地代码。这个编译过程是在程序运行时发生的,所以其性能消耗是影响Java运行效率的主要原因。为了缩短编译时间提高程序运行效率,已经有多种编译技术被提出。
   为了在实时环境下提高Java程序的响应能力和获得较高的运行效率,论文采用提前(AOT,ahead of time)编译技术,即在开源Java社区Harmony上实现提前编译器。AOT编译技术的主要思想是把方法的高效可执行代码,文中选用的是即时编译器生成的本地代码,及与代码运行相关的数据,以二进制文件形式存入本地磁盘或远程服务器,在虚拟机启动后将此二进制文件读入虚拟机并解析。当方法第一次被调用时,提前编译器将其本地机器代码取出做相应的处理,使代码可以正确运行。处理操作包括对方法本地代码的重定位操作、将方法的异常信息注册至虚拟机、为方法构建运行时常量数据区和类的动态装载。编译后的本地代码被保存在虚拟机中,可以重复调用。最后将AOT的编译执行效率与解释执行和即时编译技术作比较分析,实验结果表明AOT编译技术的编译效率达到设计要求。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号