论文部分内容阅读
随着我国3G市场国际竞争的不断加剧和手机定制化的发展趋势,手机软件平台的作用日渐突显,这也是我国3G产业链的瓶颈所在。目前的手机软件平台或开放性不够、或体系结构复杂、或移植性和兼容性差,国内缺乏具有完全自主知识产权的开放的智能手机软件开发平台。本文主要通过对现有软件平台的分析及开源软件的集成,研究实现一个开放、架构简单的、兼容性良好的移动Java软件开发平台(Mobile Java Platform,简称MJ)。论文研究工作内容及创新点如下:(1)研究提出一种新的移动Java平台体系结构,将J2ME、开源组件库和linux进行集成,从上至下分为应用层、服务层和操作系统层,其中服务层包括Java应用框架、组件库和Java运行时。与Windows Mobile相比,该平台具有linux的稳定性和可靠性、Java的跨平台性;与Symbian相比,该平台结构更清晰,开放的接口更简单;与Android相比,该平台可以支持J2ME应用;与J2ME相比,该平台的架构更明确具体。(2)MJ平台服务层的实现包括Java应用框架、组件库和Java运行时环境。Java应用框架包含了J2ME的JSR规范和MJ平台特有的开发包,组件库基于相关的开源库提供了Java应用框架中的所有接口的实现:qte组件实现2D图形的绘制和事件响应,SQLite实现关系数据库的访问,GStreamer实现移动多媒体服务等;Java运行时环境基于CLDC HI虚拟机实现。(3)对Java虚拟机进行优化,提出一种基于栈式分配的垃圾收集算法,改善了Java对象内存分配和即时回收性能,使得垃圾回收及时,占用内存空间少,减轻了垃圾收集器的负担,提高了Java虚拟机的运行速度。该算法在编译阶段通过对Java源代码进行分析确定栈式分配对象,并用扩展指令标识这些对象,程序运行时它们将直接被分配到Java栈上,这些对象在程序离开其作用域时立即被自动释放,其它Java对象则仍旧分配到堆上,由垃圾收集器进行回收。在国内对手机软件平台研究尚有欠缺的背景下,本文在移动Java平台方面所做的研究成果对我国手机平台研究与应用将具有重要的参考价值。