论文部分内容阅读
随着我国信息化建设的不断深入发展,智能卡在我国各行业的应用越来越广泛,在智能卡技术和智能卡应用领域进一步规范化的背景下,Java卡技术以其平台无关性、多应用性和动态下载的特点成为智能卡领域研究和发展的热点。Sun公司给出的Java卡规范只是一个纲领性文档,它给出了构建Java卡的指导性原则,但却没有给出构建Java卡的细节。因此,构建Java卡的方法很可能各不相同,甚至差别很大。如何实现Java卡规范的基本要求,并尽可能确保Java卡的运行效率和鲁棒性是构建Java卡时需要研究的主要问题。Java卡技术体系中,最为关键的是Java卡虚拟机的设计与实现。而解释器则是Java卡虚拟机的核心,它负责解释执行Java应用程序转换后的字节码。本文主要目标是对Java卡虚拟机的研究,并设计和实现一个符合Java卡规范的虚拟机解释器。本文首先通过对Java卡虚拟机模型进行分析,阐述了实现一个Java卡虚拟机解释器的要点问题。主要从Java卡虚拟机所涉及到的数据类型,运行时数据区,二进制表示文件EXP和CAP的格式对Java卡虚拟机进行分析。并据此来设计解释器的寄存器、Java栈、堆空间和异常处理等功能模块,具体给出了它们的设计以及Java卡虚拟机规范2.2.2中的指令集的实现过程。本文在设计与实现解释器的过程中,通过串行链接来实现Java栈的动态扩大和缩小;通过指令预取方式来提高解释器的执行效率;通过共享参数机制来节约空间和简化方法调用时的参数传递。最后对所设计实现的解释器进行测试,表明本人设计的Java卡虚拟机解释器能够实现Java卡虚拟机规范2.2.2所规定的解释功能要求,以及解释和执行符合Java卡规范2.2.2编写的Java应用程序。本论文的研究内容是开发具有自主知识产权的Java卡产品的一次有益的尝试,也可为我国Java卡技术的进一步深入研究和应用提供和积累相关的经验和资料。