私はJavaCardに取り組んでおり、知りたいのですが:
- Java Cardのアプレットの最大サイズと最小サイズはどれくらいですか?また、どのパラメータに依存しますか?
- スマートカードにインストールできるアプレットはいくつですか?
使ってます:
- スマートカードタイプ=連絡先カード
- apduを使用したjcopでのJavaCard2.2.2の使用
アプレットサイズの具体的な制限はわかりませんが、最大サイズに影響する他の制限があります。
Java Card 2.2仮想マシン仕様によると、制限は次のとおりです。
パッケージ参照: パッケージは、最大128個の他のパッケージを参照できます。
パッケージ名:パッケージ の完全修飾名には、最大255文字を含めることができます。パッケージ名のサイズは、UTF-8形式で表される場合に複数のバイトを必要とする1つ以上の文字が含まれている場合、さらに制限されます。
パッケージ内のクラス: パッケージには、最大255のクラスとインターフェースを含めることができます。
インターフェイス: クラスは、スーパークラスによって実装されるインターフェイスを含め、最大15のインターフェイスを実装できます。インターフェイスは、最大14のスーパーインターフェイスから継承できます。
静的フィールド: アプレットパッケージ内のクラスは、最大256のパブリックまたは保護された静的非最終フィールドを持つことができます。ライブラリパッケージのクラスには、最大255個のパブリックフィールドまたは保護された静的非ファイナルフィールドを含めることができます。クラスで宣言される静的最終フィールド(定数)の数に制限はありません。
静的メソッド: アプレットパッケージのクラスは、最大256個のパブリックまたは保護された静的メソッドを持つことができます。ライブラリパッケージのクラスには、最大255個のパブリックまたは保護された静的メソッドを含めることができます。
メソッド: クラスは、最大128個のパブリックまたは保護されたインスタンスメソッドと、パッケージの可視性を備えた最大128個のインスタンスメソッドを実装できます。これらの制限には、継承されたメソッドが含まれます。
クラスインスタンス: クラスインスタンスには最大255個のフィールドを含めることができ、intデータ型は2つのフィールドを占めるものとしてカウントされます。
配列: 配列は最大32767フィールドを保持できます。
公式のサイズ制限はありません(Robertがすでに投稿したものを超えています)。カードには、使用可能なメモリに応じて独自の制限がある場合がありますが、そのための固定値はありません。すでにインストールされているもの、VMが内部でどのように機能するかなどによって異なります。
アプレットの最大サイズについて言及している仕様はありません。それはすべてOSに依存するので、ええ、あなたは間違いなくNXPに尋ねるべきです。