Preface

The Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition is based on the Connected Limited Device Configuration Specification, Version 1.1 standard defined by the Javatrademark Platform, Micro Edition (Java ME platform). The technology defined in this specification for the Java Cardtrademark 3 Platform is suitable for an advanced smart card device. Smart card devices are typically much more resource-constrained than Java ME platform devices. In this book, Java Card 3 Platform refers to both versions 3.0 and 3.0.1 to distinguish them from all earlier versions.

The technology supports class file loading from a Javatrademark Archive (JAR) file application distribution format and supports on-card class file verification. It supports multithreading and handles concurrent execution of applications. It also supports automatic Garbage Collection (GC) and provides a framework for end-to-end connectivity.

This document, Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition, defines the subset of the Java programming language, the subset of functionality of the platform’s Java Virtual Machine[1], the security and networking features, as well as the core platform libraries, all to support a wide range of vertical markets for smart card and secure token devices.


Who Should Use This Specification

The audience for this document includes:


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

http://java.sun.com

You should also be familiar with the Java Card technology website at

http://java.sun.com/products/javacard/


How This Specification Is Organized

The topics in this specification are organized as follows:

Chapter 1 provides some background information and context for the Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition. The chapter also summarizes the main differences between Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition and the Connected Limited Device Configuration Specification, Version 1.1 (CLDC).

Chapter 2 defines the goals, requirements and scope of this specification.

Chapter 3 defines the high-level architecture of the Java Card platform and discusses its security features.

Chapter 4 details the variances from the standard Java programming language defined by the Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition.

Chapter 5 details the variances from the standard Java Virtual Machine (JVM) defined by the Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition.

Chapter 6 defines the Java technology-based APIs (Java APIs) supported by the Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition.

Glossary provides definitions of selected terms used in the entire Connected Edition.


Using UNIX Commands

This document might not contain information about basic UNIX® commands and procedures such as shutting down the system, booting the system, and configuring devices. Refer to the following for this information:

http://docs.sun.com


Shell Prompts


Shell

Prompt

C shell

machine-name%

C shell superuser

machine-name#

Bourne shell and Korn shell

$

Bourne shell and Korn shell superuser

#



Typographic Conventions


Typeface[2]

Meaning

Examples

AaBbCc123

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.

AaBbCc123

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

% su

Password:

AaBbCc123

Book titles, new words or terms, words to be emphasized. Replace command-line variables with real names or values.

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.



Related Documentation

The Java Language Specification, Third Edition, by James Gosling, Bill Joy, and Guy L. Steele (Addison-Wesley, 2005), ISBN 0-321-24678-0.

The Javatrademark Virtual Machine Specification (Java Series), Second Edition by Tim Lindholm and Frank Yellin (Addison-Wesley, 1999).

The Java Virtual Machine Specification (JVMS) for Java 5 at:

http://java.sun.com/docs/books/jvms/second_edition/jvms-java5.html

The Java Development Kit(JDK), Version 1.6 at:

http://java.sun.com/javase/6/docs/

The Java Development Kit, Version 1.6 revisions to chapter 4 (Class File Format) of Java Virtual Machine Specification at:

http://jcp.org/aboutJava/communityprocess/final/jsr202/

Connected, Limited Device Configuration Specification, Version 1.1, Java Community Process, Sun Microsystems, Inc. at:

http://jcp.org/aboutJava/communityprocess/final/jsr139/

Runtime Environment Specification, Java Card Platform, Version 3.0.1, Connected Edition.

Application Programming Interface Specification, Java Card Platform, Version 3.0.1, Connected Edition.

Java Servlet Specification, Java Card Platform, Version 3.0.1, Connected Edition.


Documentation, Support, and Training


Sun Function

URL

Documentation

http://www.sun.com/documentation/

Support

http://www.sun.com/support/

Training

http://www.sun.com/training/



Third-Party Web Sites

Sun is not responsible for the availability of third-party web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with the use of or reliance on any such content, goods, or services that are available on or through such sites or resources.


Sun Welcomes Your Comments

Sun Microsystems is interested in improving its documentation and welcomes your comments and suggestions. You can submit your comments to

jc-bandol-spec-feedback@sun.com

Please include the title of your document with your feedback:

Virtual Machine Specification, Java Card Platform, v3.0.1, Connected Edition.


1 (Footnote) The terms “Java Virtual Machine” and “JVM” mean a Virtual Machine for the Java(TM) platform.
2 (TableFootnote) The settings on your browser might differ from these settings.