EEPROM和RAM中的变量有什么区别?

时间:2015-05-29 11:59:21

标签: ram rom

在javacard中,epprom中存储了哪些数据?什么数据存储在ram中?

2 个答案:

答案 0 :(得分:2)

最直接的方法之一:当我们开发javacard applet时,我们将为变量申请内存。 new()函数创建的变量将存储在EEPROM中,例如

byte[] tempBuffer; 
tempBuffer  = new byte[32]; 

通过JCSystem。 MakeTransientByteArray()函数将存储在RAM中,例如

byte[] tempBuffer;
tempBuffer = JCSystem.makeTransientByteArray((short)256, CSystem.CLEAR_ON_DESELECT); // using either JCSystem.CLEAR_ON_RESET or JCSystem.CLEAR_ON_DESELECT

答案 1 :(得分:1)

即使取下卡的电源,存储在EEPROM中的数据也不会被删除。与RAM相比,EEPROM的写入和读取速度较慢。此外,您可以执行的可能EEPROM写入次数有限,达到此限制可能会导致卡不再可用。这称为EEPROM佩戴。因此,只有在绝对需要时才使用EEPROM。

当移除电源或取消选择小程序时,存储在RAM中的数据将被清除(所有位都设置为0)。这通常用于临时数据,您可以在卡断电后丢失。与EEPROM不同,您可以执行的RAM写入数量没有限制。