Как стать автором
Обновить

Комментарии 8

Когда-то разбирался с устройством виртуальной машины JavaCard, и так и не понял, как она решает, какие данные хранить в RAM, а такие в NVM. Ещё не очень понятно, могут ли данные из RAM перекочевать в NVM и наоборот. Не могли бы вы прояснить ситуацию?
Очень просто — все что создается оператором new — идет в NVM и это возможно только в конструкторе объекта, т.к. это по факту инсталляция. А RAM в нормальном понимании нет, точнее есть, но доступ к ней через библиотечные функции, см. www.win.tue.nl/pinpasjc/docs/apis/jc222/javacard/framework/JCSystem.html
Спасибо за вопрос… сегодня вечером дополню статью и напишу поподробнее о памяти, и о том, какие данные хранить в RAM, а какие в NVM.
Спасибо.
Ещё, насколько я понял, форматы файлов сделаны таким образом, чтобы установщику практически ничего не пришлось делать для установки апплета. Но при этом совершенно неочевидно, как использовать те или иные особенности форматов файлов для облегчения жизни и какие проверки всё-таки должен выполнить установщик во время установки (и как вообще эта установка происходит). Где-нибудь можно найти информацию по этому поводу?
Я дополнил статью, читайте главу «Управление памятью». По поводу второго вопроса: в принципе в спецификациях JCRE описаны все обязательные проверки. Как именно происходит установка, с точки зрения того, какие команды надо послать, описано в Global Platform.
Спасибо. Теперь, вроде бы, понял.

> По поводу второго вопроса: в принципе в спецификациях JCRE описаны все обязательные проверки. Как именно происходит установка, с точки зрения того, какие команды надо послать, описано в Global Platform.
Что-то по поводу проверок там всё только в общих чертах. Интересует скорее, как формат файла упрощает выполнение этих проверок. И вообще кому и как он упрощает жизнь.
С этих же позиций интересует и процесс установки, т.е. как именно работает апплет-установщик, какие действия выполняет, как хранит данные апплета.
Там написано в общих чертах, потому что, какие именно проверки происходят — дело каждого производителя смарт-карт. Признаюсь, о том как формат упрощает проверки, не интересовался. О процессе установки напишу, наверное, отдельную статью, после общей статьи о Global Platform.
Однако компилятор Java имеет привычку автоматически приводить результат всех арифметических операций к типу int. Для избежания этого в коде приходится использовать явное приведение типа к short или byte, что делает код менее читаемым.
Шел 2015й год…
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории