我正在使用 java 卡,我想知道:
- java卡中小程序的最大和最小大小是多少,它取决于哪个参数?
- 我们可以在智能卡上安装多少个小程序?
我在用:
- 智能卡类型 = 联系卡
- 使用 java 卡 2.2.2 和 jcop 使用 apdu
我不知道小程序大小的具体限制,但是还有其他限制会影响最大大小:
根据 Java Card 2.2 虚拟机规范,限制如下:
包引用: 一个包最多可以引用 128 个其他包。
包名称:包 的完全限定名称最多可包含 255 个字符。如果包名称包含一个或多个字符,当以 UTF-8 格式表示时,需要多个字节,则包名称大小会受到进一步限制。
包中的类: 一个包最多可以包含 255 个类和接口。
接口: 一个类最多可以实现15个接口,包括超类实现的接口。一个接口最多可以继承 14 个超接口。
静态字段: applet 包中的一个类最多可以有 256 个公共或受保护的静态非最终字段。库包中的一个类最多可以有 255 个公共或受保护的静态非最终字段。类中声明的静态最终字段(常量)的数量没有限制。
静态方法: applet 包中的一个类最多可以有 256 个公共或受保护的静态方法。库包中的一个类最多可以有 255 个公共或受保护的静态方法。
方法: 一个类最多可以实现 128 个公共或受保护的实例方法,最多可以实现 128 个具有包可见性的实例方法。这些限制包括继承的方法。
类实例: 类实例最多可以包含 255 个字段,其中一个 int 数据类型算作占用两个字段。
数组: 数组最多可以容纳 32767 个字段。
没有官方大小限制(高于罗伯特已经发布的限制)。卡可能有自己的限制,具体取决于可用内存 - 但没有固定值;取决于已经安装了什么,他们的虚拟机如何在内部工作等等。
没有规范提及小程序的最大大小。这一切都取决于操作系统,所以是的,你一定要问恩智浦。