在javacard中,epprom中存储了哪些数据?什么数据存储在ram中?
答案 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写入数量没有限制。