论文部分内容阅读
随着嵌入式技术的发展,特别是在第三代移动通信终端技术方面的发展应用,人们对内容丰富的可动态下载的多媒体应用需求越来越广泛。嵌入式Java技术随之而出现。但是,将Java 技术成功地移植到嵌入式系统的关键是Java 虚拟机技术,如何在这类资源有限的小型设备上挖掘Java 虚拟机的最大潜能,还有很多方面值得探讨。Java 虚拟机是一种软件,对Java 程序而言,它表现为具有单一硬件和操作系统特性的软件“计算机”,它使得Java 程序在不同的计算机系统之间具备高度的可移植性。在嵌入式系统中拥有一个稳定而且可定制的Java 虚拟机是特别重要的,因此在小型的、资源有限的嵌入式设备中,需要专为嵌入式系统优化Java虚拟机。在C/C++语言中,内存的分配和回收都必须由程序员自己完成。Java 语言环境却采用了自动内存分配和回收功能。当产生一个类实例后,Java 虚拟机自动为其分配内存,并且周期性地调用垃圾收集器以回收无用内存单元。这样使程序员不必手工将内存归还系统,减少了程序中内存错误发生的可能性。但是,在嵌入式设备中,使用Java 语言的最大局限性在于缺乏确定内存历史状态的信息并且无法保证实时响应。为此,针对嵌入式系统的特征,同时为了弥补目前同类设计中的不足,我们设计了一套嵌入式Java 虚拟机内存管理方法。它实现了内存空间管理中对象空间的快速分配和垃圾对象空间的快速回收,增强了系统运行的实时性,大大降低了系统的停顿现象。本文首先介绍了课题的背景、来源和国际国内的情况,并简介了Java 技术和嵌入式实时系统。然后对虚拟机的运行时数据区作了详细介绍。通过对JAVA虚拟机内存管理策略的分析,特别是对虚拟机内存的分配和垃圾回收算法的研究分析后,提出了一种新型的虚拟机内存管理策略,并应用到嵌入式Java 虚拟机VTJVM 中。对VTJVM 的测试表明该方案在性能上有了很大的提高。最后对该系统进行总结,并指出将来的改进工作。