Rus Eng
Решения
Технологии
Дискуссии
Компания
 
Rambler's Top100
©Copyright iNetique
info@inetique.ru

 

Конвертор

Преобразуется всегда весь пакет, представляющий собой пользовательское приложение. Как обычно, компилятор Java создает стандартный байт-код. Далее конвертор преобразует все полученные .class файлы.

Во время этого преобразования конвертор выполняет задачи, обычно решаемые стандартной JVM во время загрузки приложения. Для Java Card эти задачи не выполнимы на самой карте в силу недостатка ресурсов. Именно поэтому выше и говорилось о составном характере виртуальной машины Java на платформе Java Card. Конвертор (как одна из частей JCVM) выполняет свою часть общего процесса исполнения приложения. В частности, конвертор:

  • проверяет корректность байт-кода
  • проверяет нарушения стандарта Java Card (подмножества Java)
  • выполняет инициализацию статических переменных
  • разрешает символические ссылки для классов, методов и полей класса и переводит их в более компактную форму, лучше приспособленную к ограничениям среды смарт-карты
  • оптимизирует байт-код
  • размешает память и создает структуры JVM для представления классов

В качестве входной информации конвертор может также использовать экспортные файлы. Это происходит в том случае, если конвертируемый пакет импортирует классы из других пакетов. В этом случае эти пакеты будут представляться для контейнера своими экспортными файлами.

Как уже отмечалось выше, помимо собственно CAP файла, конвертор создает экспортный файл для всего пакета.

Общая схема иллюстрируется следущим рисунком:

.class файлы
конвертор
CAP файлы
экспортные файлы
экспортный файл

 

Интерпретатор

Как обычно, интерпретатор обеспечивает поддержку языка Java (байт-кода) во время исполнения. Собственно интерпретация (в отличие от компиляции) обеспечивает независимость кода апплета от аппаратуры. Интерпретатор выполняет, например, следующие задачи:

  • исполнение байт-кода
  • управление памятью и созданием объектов
  • обеспечение безопасности

 

Заключение

В данном обзоре были рассмотрены основные моменты реализации платформы Java Card. В последущих частях мы остановимся на вопросах инсталляции апплетов, описании JCRE и Java Card API