Java虚拟机的研究以及在数字电视中间件上的应用
作者单位:西北工业大学
学位级别:硕士
导师姓名:谷建华
授予年度:2006年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:Kaffe 即时编译器 trampoline 数字电视中间件
摘 要:Java编程语言是继C和C++之后的下一种流行的商业软件开发语言,已被广泛的应用于各种开发领域。Java的体系结构能帮助程序员适应不断发展的硬件环境,这归功于Java虚拟机提供的能力——安全性、平台无关性和网络移动性。正是基于这些优点,Java虚拟机在各种平台的开发中显得越来越重要。而如何获得一个性能稳定、功能完善的Java虚拟机,也是每个平台开发商追求的目标。本文就是在这样的背景下对基于源代码开放的Kaffe虚拟机进行深入的研究,并对部分模块提出了相应的改进设计。 本文研究了Kaffe虚拟机的模块组织结构,以驱动模块为核心层层分析。 接着深入分析了Kaffe虚拟机的即时编译器的实现原理,着重论述了它的Trampoline实现机制和中间代码的应用,并根据Kaffe虚拟机的JIT特点提出了并发运行模型的改进方案。 本文深入研究了Kaffe虚拟机内存管理机制的分离存储的空闲列表的实现原理。还对其基于三色模型的保守垃圾回收算法进行了论述,并提出了改进设计方案。 最后通过研究数字电视中间件模型,设计并实现了将Kaffe移植到Qt/E图形库之上,并针对嵌入式平台的需要,对Kaffe进行适当的裁减。 通过对Kaffe虚拟机的研究与改进,为Java虚拟机在嵌入式领域平台开发与移植提供了重要的参考价值。