嵌入式系统虚拟机技术研究

嵌入式系统虚拟机技术研究

论文摘要

随着电子技术的飞速发展,嵌入式系统的应用已经深入到人们生活的方方面面,而种类繁多的微处理器极大地降低了嵌入式软件的通用性,造成了许多嵌入式应用的重复开发。为了使应用程序在嵌入式系统之间具有高度的可移植性,Java虚拟机技术被广泛采用。由于Java自身的一些特征导致其存在效率低、内存占用等缺陷,因此,提高Java虚拟机性能已成为一大研究热点。目前对Java虚拟机的优化工作主要是针对桌面计算机,而很多优秀的虚拟机优化技术在硬件资源受限的嵌入式平台上不适用,导致嵌入式Java虚拟机优化相对滞后。本文以KVM为基础,对嵌入式Java虚拟机的类装载器、垃圾收集和执行引擎进行研究,并提出了一些改进虚拟机性能的方案。主要研究工作包括以下内容:首先,深入研究了嵌入式Java虚拟机运行环境及其体系结构,主要包括运行时数据区、本地方法接口、类装载子系统、垃圾收集器以及执行引擎,着重研究了类装载、垃圾收集和执行引擎的实现原理。其次,深入分析了嵌入式Java虚拟机性能优化的技术瓶颈,并提出了对其多个模块的改进算法。在类名存储方式上,提出了包名分离的存储方法,有效消除了类名存储产生的冗余信息,降低了常量池的内存占用;在内存管理方面,提出了一种动态分代垃圾收集算法,该算法对新生代和旧生代存储区域进行动态划分,提高了内存的使用效率;在执行引擎方面,提出一种基于自适应编译技术的执行引擎优化方案,该方案将Java指令划分为上下文相关和上下文无关两种,提高了编译速度,并采用简化的热点监视器,有效提高了嵌入式Java虚拟机的性能。最后,将优化后的Java虚拟机移植到开发板,并验证了上述优化算法能提高Java虚拟机的性能。

论文目录

  • 摘要
  • Abstract
  • 引言
  • 1 绪论
  • 1.1 课题研究背景和意义
  • 1.2 研究现状
  • 1.3 本文研究的主要内容
  • 2 嵌入式系统与 Java 虚拟机
  • 2.1 Java 虚拟机
  • 2.1.1 Java 虚拟机简介
  • 2.1.2 Java 虚拟机体系结构
  • 2.2 嵌入式系统
  • 2.2.1 嵌入式系统简介
  • 2.2.2 嵌入式系统体系结构
  • 2.2.3 嵌入式系统的特点
  • 2.3 嵌入式 Java 虚拟机的性能问题
  • 2.3.1 执行效率
  • 2.3.2 内存管理
  • 2.4 本章小结
  • 3 类装载机制研究
  • 3.1 类装载机制概述
  • 3.1.1 类装载器的组成
  • 3.1.2 类装载器的过程及特点
  • 3.2 类装载器体系结构
  • 3.2.1 类装载器与命名空间
  • 3.2.2 常量池技术
  • 3.2.3 双亲委派模型
  • 3.2.4 动态加载机制
  • 3.3 常量池优化
  • 3.3.1 存在的问题
  • 3.3.2 类装载器优化
  • 3.4 实验
  • 3.5 本章小结
  • 4 垃圾收集算法研究术
  • 4.1 垃圾收集算法总体分析
  • 4.1.1 垃圾收集性能标准
  • 4.1.2 垃圾收集算法的选取
  • 4.2 经典垃圾收集算法介绍
  • 4.2.1 引用计数法
  • 4.2.2 标记-清除算法
  • 4.2.3 拷贝收集算法
  • 4.2.4 分代算法
  • 4.3 分代算法改进
  • 4.3.1 代的划分
  • 4.3.2 阈值设定
  • 4.3.3 全回收优化
  • 4.3.4 算法优缺点分析
  • 4.4 优化算法实现与验证
  • 4.5 本章小结
  • 5 执行技术优化
  • 5.1 Java 虚拟机执行技术
  • 5.1.1 解释执行技术
  • 5.1.2 线索化解释器
  • 5.1.3 即时编译技术
  • 5.1.4 预先编译
  • 5.1.5 自适应优化技术
  • 5.2 执行技术性能分析
  • 5.2.1 执行技术优化与嵌入式
  • 5.2.2 执行技术分析比较
  • 5.3 执行引擎优化技术
  • 5.3.1 总体设计
  • 5.3.2 解释器优化
  • 5.3.3 热点监视器
  • 5.3.4 编译优化
  • 5.3.5 算法优缺点分析
  • 5.4 性能测试与分析
  • 5.5 本章小结
  • 6 Java 虚拟机移植研究
  • 6.1 开发环境
  • 6.1.1 硬件平台分析
  • 6.1.2 软件系统分析
  • 6.1.3 运行环境
  • 6.2 搭建交叉编译环境
  • 6.2.1 编译工具
  • 6.2.2 交叉编译环境搭建
  • 6.3 Java 虚拟机移植到目标板 HHARM2440
  • 6.3.1 安装 JDK
  • 6.3.2 代码修改
  • 6.3.3 编译安装 KVM
  • 6.3.4 移植到目标平台
  • 6.3.5 验证移植的正确性
  • 6.4 本章小结
  • 7 总结与展望
  • 7.1 总结
  • 7.2 展望
  • 参考文献
  • 在学研究成果
  • 致谢
  • 相关论文文献

    • [1].JAVA中“相等性比较”的实现技巧[J]. 赤峰学院学报(自然科学版) 2019(04)
    • [2].基于常量池和反编译分析的Java初始化研究[J]. 喀什大学学报 2018(03)
    • [3].紧固式虚拟机在智能相机中的设计与实现[J]. 江南大学学报(自然科学版) 2011(01)
    • [4].浅析Java初学的几个难点[J]. 科技信息 2009(29)
    • [5].浅析Java语言中对象的创建过程[J]. 福建电脑 2016(06)
    • [6].基于指针概念理解JAVA知识点[J]. 电脑迷 2016(08)
    • [7].基于C-SKY CPU的地址立即数编译优化方法[J]. 计算机工程 2016(01)
    • [8].Java Class文件的结构分析及其解析执行[J]. 计算机应用与软件 2011(07)
    • [9].Java语言常规编程特性浅淡[J]. 科技资讯 2019(03)
    • [10].深入探讨Java中的String类[J]. 长沙通信职业技术学院学报 2009(03)

    标签:;  ;  ;  ;  

    嵌入式系统虚拟机技术研究
    下载Doc文档

    猜你喜欢