Site Tools


Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing



Java Card technology combines a portion of the Java programming language with a runtime environment optimized for smart cards and related, small-memory embedded devices. The goal of Java Card technology is to bring many of the benefits of the Java programming language to the resource-constrained world of smart cards.

This document is a specification of the Java Card Platform, Version 2.2.2, Runtime Environment (Java Card Runtime Environment or Java Card RE). A vendor of a Java Card technology-enabled device provides an implementation of the Java Card RE. A Java Card RE implementation within the context of this specification refers to a vendor's implementation of the virtual machine (VM) for the Java Card platform (Java Card virtual machine or Java Card VM), the Java Card Application Programming Interface (API), or other component, based on the Java Card technology specifications. A “reference implementation” is an implementation produced by Sun Microsystems, Inc. Application software written for the Java Card platform is referred to as a Java Card technology-based applet (Java Card applet or card applet).

Who Should Use This Specification

This specification is intended to assist implementers of the Java Card RE in creating an implementation, developing a specification to extend the Java Card technology specifications, or in creating an extension to the runtime environment for the Java Card platform. This specification is also intended for Java Card applet developers who want a greater understanding of the Java Card technology specifications.

Before You Read This Specification

Before reading this guide, you should be familiar with the Java programming language, the other Java Card technology specifications, and smart card technology. A good resource for becoming familiar with Java technology and Java Card technology is the Sun Microsystems, Inc. web site, located at

How This Specification Is Organized

Chapter 1, “Introduction,” gives an overview of the information contained in this specification.

Chapter 2, “Lifetime of the Java Card Virtual Machine,” defines the lifetime of the Java Card virtual machine.

Chapter 3, “Java Card Applet Lifetime,” defines the lifetime of an applet.

Chapter 4, “Logical Channels and Applet Selection,” describes how the Java Card RE handles applet selection.

Chapter 5, “Transient Objects,” describes the properties of transient objects.

Chapter 6, “Applet Isolation and Object Sharing,” describes applet isolation and object sharing.

Chapter 7, “Transactions and Atomicity,” describes the functionality of atomicity and transactions.

Chapter 8, “Remote Method Invocation Service,” describes the server-side (card-side) functionality of the Remote Method Invocation (RMI) feature of Java Card Platform, Version 2.2.2.

Chapter 9, “API Topics,” describes API functionality required of a Java Card RE but not completely specified in the Application Programming Interface, Java Card Platform, Version 2.2.2.

Chapter 10, “Virtual Machine Topics,” describes virtual machine resource failures and security violations.

Chapter 11, “Applet Installation and Deletion,” provides an overview of the Applet Installer and Java Card RE required behavior.

Chapter 12, “API Constants,” provides the numeric value of constants that are not specified in the Application Programming Interface, Java Card Platform, Version 2.2.2.

Glossary,” provides definitions of selected terms used in this specification.

References to various documents or products are made in this guide, Have the following documents available:

  • Application Programming Interface for the Java Card Platform, Version 2.2.2.
  • Virtual Machine Specification for the Java Card Platform, Version 2.2.2.
  • The Java Language Specification by James Gosling, Bill Joy, and Guy L. Steele (Addison-Wesley, 1996).
  • The Java Virtual Machine Specification (Java Series), Second Edition by Tim Lindholm and Frank Yellin (Addison-Wesley, 1999).
  • The Java Class Libraries: An Annotated Reference, Second Edition (Java Series) by Patrick Chan, Rosanna Lee and Doug Kramer (Addison-Wesley, 1999).
  • EMV '96 Integrated Circuit Card Specification for Payment Systems Version 3.0. EMV 2000 Integrated Circuit Card Specification for Payment Systems Version 4.0. (

Typographic Conventions





The names of commands, files, and directories; on-screen computer output

Edit your .login file.

Use ls -a to list all files.

% You have mail.


What you type, when contrasted with on-screen computer output

% su



Book titles, new words or terms, words to be emphasized

Command-line variable; replace with a real name or value

Read Chapter 6 in the User's Guide.

These are called class options.

You must be superuser to do this.

To delete a file, type rm filename.

Accessing Sun Documentation Online

Access Java platform technical documentation Java Developer Connection program web site at

Sun Welcomes Your Comments

We are interested in improving our documentation and welcome your comments and suggestions. You can email your comments to us at

Copyright © 2005, Sun Microsystems, Inc. All Rights Reserved.

javacard/jcre/preface.txt · Last modified: 2017/05/13 04:07 (external edit)