What is the Java Card architecture?

Julien SIMON

The on-card components of the Java Card architecture are:

  • The Java Card Virtual Machine, which interprets the application bytecode.
  • The Java Card Runtime Environment, which interacts with the card reader and dispatches commands to Java Card applications.
  • The Java Card Application Programming Interface, which export a number of services to Java Card applications.

There are also a number of off-card components, used to build and load applications on a card. See Java Card:Development tools for more information.

Note that the Java Card standard doesn’t cover card and application management, i.e. how applications are loaded, deleted, etc. See Java Card:Card Management for more information.

A Java Card platform usually sits on top of a minimal card operating system, which exports services for memory allocation, off-card communication, cryptographic operations, etc. The features and the API of this operating system are not part of the Java Card standard.