Что такое максимальный и минимальный размер апплета в java-карте - PullRequest
0 голосов
/ 25 декабря 2011

Я работаю над Java-картой и хочу знать:

  1. Каков максимальный и минимальный размер апплета в java-карте и от какого параметра это зависит?
  2. Сколько апплетов мы можем установить на смарт-карту?

Я использую:

  • тип смарт-карты = карточка контакта
  • с использованием java-карты 2.2.2 и jcop с использованием apdu

Ответы [ 3 ]

2 голосов
/ 25 декабря 2011

Я не знаю конкретного предела для размера апплета, однако есть другие ограничения, которые влияют на максимальный размер:

В соответствии со спецификацией виртуальной машины Java Card 2.2 ограничения следующие:

Пакет ссылок: Пакет может содержать не более 128 других пакетов.

Название пакета: Полное имя пакета может содержать не более 255 символов. Размер имени пакета дополнительно ограничен, если он содержит один или несколько символов, которые, для представления в формате UTF-8 требуется несколько байтов.

Классы в пакете: Пакет может содержать не более 255 классов и интерфейсов.

Интерфейсы: Класс может реализовывать не более 15 интерфейсов, включая интерфейсы, реализованные суперкласса. Интерфейс может наследовать не более 14 суперинтерфейсов.

Статические поля: Класс в пакете апплета может иметь не более 256 открытых или защищенных статических не финальных поля. Класс в пакете библиотеки может иметь не более 255 открытых или защищенных статических не финальные поля. Не существует ограничений на количество статических конечных полей (констант) объявлен в классе.

Статические методы: Класс в пакете апплета может содержать не более 256 открытых или защищенных статических методов. Класс в пакете библиотеки может содержать не более 255 открытых или защищенных статических методов.

Методы: Класс может реализовывать максимум 128 открытых или защищенных методов экземпляра и максимум 128 методов экземпляра с видимостью пакета. Эти ограничения включают унаследованные методы.

Экземпляры класса: Экземпляры класса могут содержать максимум 255 полей, где тип данных int считается занимающим два поля.

Массивы: Массивы могут содержать до 32767 полей.

1 голос
/ 19 января 2012

Нет официального ограничения на размер (выше тех, которые уже опубликовал Роберт). Карты могут иметь свои собственные ограничения в зависимости от доступной памяти - но для этого нет фиксированного значения; зависит от того, что уже установлено, как работает их виртуальная машина и т. д.

0 голосов
/ 04 октября 2018

Нет спецификации, в которой указан максимальный размер апплета. Все зависит от ОС, так что да, вы обязательно должны спросить NXP.

...