代码之家  ›  专栏  ›  技术社区  ›  qnoid

为什么javacard2.x(现在的经典版)没有Map实现?[关闭]

  •  0
  • qnoid  · 技术社区  · 15 年前

    当然,javase HashMap有一个“昂贵”的散列函数,它的可变大小可能会导致内存不足错误,但是如果一个常量大小的映射具有一个简单的哈希值,那么它又如何呢?

    1 回复  |  直到 12 年前
        1
  •  1
  •   dim    14 年前

    智能卡上的RAM/EEPROM资源非常有限(或者在Javacard 2.x版本范围的生命周期内非常有限,即使现在情况有所好转,也只有几KB的RAM和数十KB的内存…操作系统、Javacard LIB和客户应用程序和数据需要几百KB)。JavaCard2.1在1999年就出现了。。。

    此外,您也无法轻松修复智能卡操作系统和javacard标准lib上的错误(其中大多数在200Xs早期就在ROM中)。更多gadget api=增加问题风险和部署测试成本。

    在Javacard 222虚拟机规范第21节:

    """ 为什么需要子集

    如果智能卡的程序可以用所有的Java编写,那将是一个理想的选择 但是Java虚拟机的完整实现还远远不够 太大,即使是最先进的资源受限设备也无法容纳 今天。

    一个典型的资源受限设备大约有1.2K的RAM,16K的非易失性 实现字符串操作,单精度和双精度浮点 设备。即使可以做得合身,也不会有多余的空间来上课 库或应用程序代码。RAM资源也非常有限。唯一的