论文部分内容阅读
Java智能卡(Java Card)是在智能卡(Smart Card)中应用Java技术,运行在智能卡硬件系统的基础之上通过软件构建的一个支持Java程序下载、安装和运行的软、硬件系统。目前已广泛应用于金融、电信、医疗、交通等众多领域,具有很高的应用和研究价值。JCRE(COS)作为Java Card最为核心的组成部分,一直是学术界研究的热点和难点。Java Card技术一直面临着一个技术难题,就是如何高效的利用卡片有限的内存资源,提高Java Card系统的执行效率。一般用到了两种解决办法:其一是只取Java语言的一个有效子集来支持Java Card系统;其二是将Java卡虚拟机分为卡上虚拟机和卡下虚拟机两个组成部分。以往的解决方案往往都侧重某一个方面,要么是字节码,要么是虚拟机,优化的效果并不显著。本文通过研究前人的研究成果,详细分析了字节码和Java卡虚拟机两类优化方案的优缺点,此基础上提出了一种混合优化方案,大体上围绕两个方面展开。在字节码文件优化方面,本文提出了一种基于折叠压缩机制的优化方案。运用扩展指令集和字典压缩相结合的方法对字节码文件进行处理。首先采用扩展指令集方法处理字节码文件,经过这个过程产生了 CAP文件。然后采用字典压缩算法优化产生的CAP文件,在JCVM的卡下部分进行分段压缩。经过连续两次对CAP文件进行优化,有效的减少了 CAP文件的大小,节省了存储空间。在JCVM的动态存储管理优化方面,本文首先分析了 JCVM的内存访问机制和JCVM的缓存优化模型,然后介绍了一种新的JCVM架构,考虑将大部分对象的创建工作由EEPROM转移到RAM中进行,这个过程会产生存储碎片。本文基于分代回收思想提出了一种新的动态存储管理方案,引入了火车回收算法,并采用DSL语言描述对象的存储规则。这样不仅提高了系统的执行效率,而且在一定程度上实现了对存储碎片的有效管理。最后给出了本文的实验方案,通过优化前后的性能比较和理论分析,证明了该混合优化方案的有效性和可行性。