基于Harmony的提前编译

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:uouopolo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
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编译技术的编译效率达到设计要求。
其他文献
代理重签名是一类特殊的数字签名,通过一个代理者可以将Alice的签名转换为Bob在同一个消息上的签名。并且代理者在转换过程中不能得到Alice或者Bob的签名密钥。由于代理重签名
近年来,用户越来越倾向于通过手机等移动设备拍照并分享,这种方式使得社交网络中的照片分享应用更加方便和智能。但是目前这个应用领域还存在自动化分享、照片的管理以及社会情
学位
密钥交换协议,特别是Diffie-Hellman密钥交换协议,是密码学的一个重要并具有悠久传统的领域。设计好的密钥交换协议虽然看起来比较简单,但是其背后的设计原理、指导思想以及
自然场景仿真是近年来计算机图形学的研究热点之一,其中基于物理的流固耦合模拟是其中重要内容。其研究进展在计算机动画、真实感游戏引擎研发、自然景象模拟、灾害仿真防治
随着城市规模的发展,城市轨道交通系统在城市中的角色也越来越重要。城市轨道交通信号系统是保证列车运行安全,实现行车指挥和列车运行现代化,提高运输效率的关键系统设备。基于
软件定义网络(Software Defined Network,SDN)将网络设备上的控制权分离,并交由集中控制器管理,屏蔽了来自底层网络设备的差异,用户可以更加灵活的自定义网路路由和传输规则
近几十年来,计算机数据库的迅速膨胀导致人们被数据的海洋所淹没,人们都知道自己对数据的掌握程度远远赶不上数据升级的速度。在数据量日益突增的同时,伴随的是数据库中大量的数
随着我国互联网和移动终端技术的飞速发展,越来越多的乘客倾向于通过互联网渠道查询和订购机票。巨大的客户服务需求也催生了第三方互联网机票服务平台的出现。因此,航空公司
随着互联网的迅猛发展,电子邮件已逐渐成为人们日常生活中不可缺少的通信方式之一。与此同时,垃圾邮件作为电子邮件的错误衍生品,也发展迅速。尤其是近几年电子商务和移动互联的