JAVA card 应用开发(七) JAVA 卡数据(永久数据/临时数据)

本文详细介绍了JAVA CARD的三种存储器件:ROM、RAM和EEPROM。ROM存储基本程序和数据,RAM用于保存临时数据,而EEPROM则用于长生命周期的数据。在JAVA卡应用开发中,理解这三者之间的区别至关重要,特别是如何创建和管理临时数据对象,如使用JCSystem API创建临时数组。此外,文章还强调了智能卡资源的有限性以及优化数据管理的重要性。
摘要由CSDN通过智能技术生成

JAVA 卡对象


JAVA CARD 的存储器件:

a.      ROM: 永久保存程序和数据,虚拟机,API等;(Applets也可以放这里)

b.      RAM: 栈数据,临时对象;

c.      EEPROM: Applet的类,长生命周期的数据;(写操作比RAM慢1000倍)

 

因此,ROM是存放JCRE的基本程序和数据,而RAM用于保存当前会话需要的临时数据,EEPRO就用于保存跨会话的数据。

 

下面分别描述:

1.      ROM:

掩膜的时候,把这块的数据固定下来,伴随整个卡片的生命周期不改变。除非把Applets保存到这个区域。

 

2.      RAM:

Applet运行过程中保存的临时数据、数组和对象。临时数据就是栈数据,程序运行过程中的中间数据,而临时对象,则没那么简单。临时对象并不是对象是临时的,而是对象的数据是临时的,一个Applet在生命期对一个临时对象只建立一次,而且把该对象的引用保存在一个永久域里。只有具有基本类型成分的数组或具有对象引用类型成分的数据,才是临时的,这里面就包括临时数组和临时对象。

临时对象是通过API建立的,数据不能跨过两个CAD sessions,对于一个域的修改不是原子型的。

临时对象的属性使之对于少量的,要经常修改的,但无需在CAD sessions间保留的临时applet数据是很理想的对象。有两种类型的临时数据对象,即CLEAR_ON_RESET 和CLEAR_ON_DESELECT。注意当定义为CLEAR_ON_DE

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值