JAVA卡系统堆碎片整理方法技术方案

技术编号:10193833 阅读:134 留言:0更新日期:2014-07-10 00:35
本发明专利技术涉及JAVA卡系统堆碎片整理方法,包括以下步骤:步骤一、遍历堆空闲空间管理表,找出最高地址的空闲块和次高地址的空闲块;步骤二、将这两个空闲块之间的内容向最高地址的空闲块处搬运;步骤三、合并这两个空闲块,修改堆管理表中这两个空闲块信息;步骤四、修改JAVA卡对象头信息中的对象内容地址;步骤五、转到步骤一,直到堆空闲空间管理表中只剩下一个空闲块为止。本发明专利技术所提供的JAVA卡系统堆空间碎片整理方法将对象删除所导致的堆空间碎片进行高效率整理,使得JAVA智能卡的有限存储空间得到了更合理的应用。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及JAVA卡系统堆碎片整理方法,包括以下步骤:步骤一、遍历堆空闲空间管理表,找出最高地址的空闲块和次高地址的空闲块;步骤二、将这两个空闲块之间的内容向最高地址的空闲块处搬运;步骤三、合并这两个空闲块,修改堆管理表中这两个空闲块信息;步骤四、修改JAVA卡对象头信息中的对象内容地址;步骤五、转到步骤一,直到堆空闲空间管理表中只剩下一个空闲块为止。本专利技术所提供的JAVA卡系统堆空间碎片整理方法将对象删除所导致的堆空间碎片进行高效率整理,使得JAVA智能卡的有限存储空间得到了更合理的应用。【专利说明】JAVA卡系统堆碎片整理方法
本专利技术涉及智能卡领域,尤其涉及一种JAVA卡系统堆空间碎片整理方法及对象管理方法。
技术介绍
智能卡自诞生起,几十年来,随着集成电路技术、计算机技术和信息安全技术的发展,从接触式卡发展到射频卡甚至多界面卡,从单一应用发展到多应用,种类更加丰富,技术也更趋先进。中国的智能卡产业及应用始于二十世纪九十年代初,是伴随着中国政府启动的“金卡工程”而发展起来的,至今已有十几年的历史。目前在中国更多政府部门和行业推广应用了智能卡,包括居民身份证、电子护照、社会保障卡、交通卡、加油卡、电话卡、移动电话卡、付费电视卡、水电气表卡、会计卡、税务卡、网银U盾、校园卡等等。这样,支持多应用的智能卡软件平台成为关键,特别是JAVA卡。由于JAVA卡的存储空间有限,用户只能通过删除不用的应用、增加新的应用,来满足不同时期的使用需求。随着用户对应用的更替,将产生很多空间碎片,降低了有限的系统空间的使用效率。因此,怎样更有效率的整理JAVA卡的有限空间,从而提高空间使用效率是一个迫切需要解决的问题。针对JAVA卡技术的上述缺陷,本专利技术要提供一种高效率的JAVA卡系统堆空间碎片整理方法,及便于碎片整理的对象管理方法,实现JAVA系统堆空间的碎片整理,提高JAVA卡的空间使用效率。
技术实现思路
本专利技术的目的是提供一种高效率的JAVA卡系统堆空间碎片整理方法。JAVA卡系统堆空间碎片整理的时机为:如果无法分配对象(对象域或者头),则进行碎片整理。JAVA卡系统堆空间碎片整理的原则为:在碎片整理过程中不整理对象头空间。为了实现上述专利技术目的,本方法提供的JAVA卡系统对空间碎片整理方法包括以下步骤:步骤一、遍历堆空闲空间管理表,找出最闻地址的空闲块和次闻地址的空闲块;步骤二、将这两个空闲块之间的内容向最高地址的空闲块处搬运;步骤三、合并这两个空闲块,修改堆管理表中这两个空闲块信息;步骤四、修改JAVA卡对象头信息中的对象内容地址;步骤五、转到步骤一继续进行,直到堆空闲空间管理表中只剩下一个空闲块为止。堆空闲空间管理表记录每个空闲空间的起始地址和大小。起始地址占用3个字节,大小也占用3个字节。合并两个空闲块时,由于两个空闲块间的内容搬到了最高地址的空闲块处,将堆空闲空间管理表中最高地址的空闲块的记录删掉,修改次高地址的空闲块的记录,只修改次高地址的空闲块的大小,不需要修改其起始地址。从步骤五转到步骤一之前,本次步骤三所合并后的空闲块,即是下次步骤一中的最闻地址的空闲块。本专利技术所提供的JAVA卡堆空间碎片整理方法及对象管理方法将系统中的堆碎片进行高效率的整理,使得JAVA卡的有限存储空间得到了更合理的应用。详细的内容将在具体实施例中作更清楚的介绍。【专利附图】【附图说明】图1是本专利技术所涉及的堆空闲空间管理表的示意图;图2是本专利技术所涉及的JAVA卡系统堆碎片整理方法的基本流程图;图3是按照本专利技术所涉及的JAVA卡系统堆碎片整理方法,对图1进行第一轮整理之后的结果示意图;图4是按照本专利技术所涉及的JAVA卡系统堆碎片整理方法,在图3的基础上,对图1进行第二轮整理之后的结果示意图,也是按照本方法进行整理之后的结果。以下结合实施例及其附图作进一步的详细说明。【具体实施方式】1、遍历堆空间管理表,将最高地址和次高地址的空闲块找出来(将对象域向高地址处集中)。2、记录搬运开始标识movFlg(EEPR0M的系统数据);3、确定搬运范围,并搬运。a)如果最高空闲块blockl 的地址范围为,次高空闲块block2 的地址范围为搬运的块的最高地址move_addr_h = empty_addr_L_l搬运的块的最低地址move_addr_l = empty_addr_h_l。【权利要求】1.JAVA卡系统堆空间碎片整理方法,所述JAVA卡系统包括堆空闲空间管理表,堆空闲空间管理表记录空闲块信息以及存储对象头和对象内容,其特征在于所述方法包括以下步骤: 步骤一、遍历堆空闲空间管理表,找出最高地址的空闲块和次高地址的空闲块; 步骤二、将最闻地址的空闲块和次闻地址的空闲块之间的对象内容向最闻地址的空闲块处搬运; 步骤三、合并最高地址的空闲块和次高地址的空闲块,修改堆空闲空间管理表中这两个空闲块信息; 步骤四、修改对象头中的对象内容地址; 步骤五、转到步骤一继续进行,直到堆空闲空间管理表中只剩下一个空闲块为止。2.如权利要求1所述的方法,其特征在于修改堆空闲空间管理表中最高地址的空闲块和次闻地址的空闲块时,删除最闻地址的空闲块的记录,修改次闻地址的空闲块的大小表项=最闻地址的空闲块大小+次闻地址的空闲块大小,不修改次闻地址的空闲块的起始地址。3.如权利要求1所述的方法,其特征在于修改对象头中的对象内容地址时,修改对象头中的对象内容地址=原对象内容地址+最高地址的空闲块大小。4.如权利要求1所述的方法,其特征在于若搬运的数据大小小于等于最高地址空闲块大小,将搬运的数据直接写入到最高地址的空闲块;若搬运的数据大小大于最高地址的空闲块大小,则将搬运的数据进行拆分,搬运的次数N =搬运的数据大小/最高地址空闲块大小。5.如权利要求1所述的方法,其特征在于搬运开始时,使用事务备份机制在EEPROM系统数据区备份最高地址的空闲块大小、每次搬运的源地址和目的地址、搬运块剩余大小,如果在进行搬运过程中发生掉电,则检查事务备份标识是否有效,如果无效,则直接读出EEPROM系统数据区中最高地址的空闲块大小、搬运的源地址、目的地址、剩余块大小;如果事务备份标识有效,则应先根据事务机制恢复搬运的源地址、目的地址、块剩余大小数据段,清除事务备份标识,然后继续搬运操作。6.如权利要求1所述的方法,其特征在于当遍历堆空闲空间管理表,只剩下一个空闲块,找不出次高地址的空闲块,则表明JAVA卡系统堆空间碎片整理完毕,此时空闲块的最低地址相邻于对象头空间所占用的最高地址。7.如权利要求1所述的法,其特征在于:堆空闲空间管理表记录每个空闲空间的起始地址和大小,起始地址占用3个字节,大小也占用3个字节。8.如权利要求1所述的方法,其特征在于:合并后的空闲块,即是下次步骤一中的最高地址的空闲块。9.根据权利要求1所述的JAVA卡系统堆空间碎片整理方法,其特征在于:在碎片整理过程中不整理对象头空间。【文档编号】G06F12/02GK103914388SQ201210595902【公开日】2014年7月9日 申请日期:2012年12月28日 优先权日:2012年12月28日 【专利技术者】芦蓉, 刘宏梅 申请人:北京中电华大电子设计有本文档来自技高网
...

【技术保护点】
JAVA卡系统堆空间碎片整理方法,所述JAVA卡系统包括堆空闲空间管理表,堆空闲空间管理表记录空闲块信息以及存储对象头和对象内容,其特征在于所述方法包括以下步骤:步骤一、遍历堆空闲空间管理表,找出最高地址的空闲块和次高地址的空闲块;步骤二、将最高地址的空闲块和次高地址的空闲块之间的对象内容向最高地址的空闲块处搬运;步骤三、合并最高地址的空闲块和次高地址的空闲块,修改堆空闲空间管理表中这两个空闲块信息;步骤四、修改对象头中的对象内容地址;步骤五、转到步骤一继续进行,直到堆空闲空间管理表中只剩下一个空闲块为止。

【技术特征摘要】

【专利技术属性】
技术研发人员:芦蓉刘宏梅
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1