| Java Card 3 Platform Virtual Machine Specification, Classic Edition Version 3.0.4 E25256-01 |
|
![]() Previous |
![]() Next |
Java Card technology combines a subset of the Java programming language with a runtime environment optimized for smart cards and similar small-memory embedded devices. The goal of Java Card technology is to bring many of the benefits of Java software programming to the resource-constrained world of devices such as smart cards.
The Classic Edition of the Java Card platform is defined by three specifications: this Virutal Machine Specification, Java Card 3 Platform, v3.0.4, Classic Edition, the Application Programming Interface, Java Card 3 Platform, v3.0.4, Classic Edition, and the Runtime Environment Specification, Java Card 3 Platform, v3.0.4, Classic Edition.
This specification describes the required behavior of the Classic Edition's virtual machine (VM) for the Java Card 3 platform (“Java Card virtual machine” or “Java Card VM”), that developers should adhere to when creating an implementation. In this book, Java Card 3 Platform refers to versions 3.0, 3.0.1 and 3.0.4 to distinguish them from all earlier versions. An implementation within the context of this document refers to a licensee's implementation of the Java Card virtual machine, Application Programming Interface (API), Converter, or other component, based on the Java Card technology specifications. A “reference implementation” is an implementation produced by Oracle. Application software written for the Java Card platform is referred to as a Java Card technology-based applet (“Java Card applet” or “card applet”).
This document is for licensees of the Java Card technology to assist them in creating an implementation, developing a specification to extend the Java Card technology specifications, or in creating an extension to the Classic Edition runtime environment for the Java Card platform (“Java Card Runtime Environment” or “Java Card RE”). This document is also intended for Java Card applet developers who want a more detailed understanding of the Java Card technology specifications.
Before reading this document, you should be familiar with the Java programming language, the Java Card technology specifications, and smart card technology. A good resource for becoming familiar with Java technology and Java Card technology is the Oracle web site, located at:
http://www.oracle.com/technetwork/java
This specification is not intended to stand on its own; rather it relies heavily on existing documentation of the Java platform. In particular, two books are required for the reader to understand the material presented here.
The Java Language Specification, Third Edition, by James Gosling, Bill Joy, and Guy L. Steele (Addison-Wesley, 2005) ISBN 0-201-31008-2, contains the definitive specification of the Java programming language. The Java Card 3 platform language subset defined here is based on the language specified in that book.
The Java Virtual Machine Specification (Second Edition) by Tim Lindholm and Frank Yellin. (Addison-Wesley, 1999) ISBN 0-201-43294-3, defines the standard operation of the Java Virtual Machine (JVM software)Foot 1 . The Java Card virtual machine presented here is based on the definition specified in that book.
| Shell | Prompt |
|---|---|
| C shell | machine-name% |
| C shell superuser | machine-name# |
| Bourne shell and Korn shell | $ |
| Bourne shell and Korn shell superuser | # |
Tables use N/A (not applicable) to indicate that a cell has no contents.
| TypefaceFoot 1 | Meaning | Examples |
|---|---|---|
AaBbCc123 |
The names of commands, files, and directories; on-screen computer output | Edit your .login file.
Use
|
AaBbCc123 |
What you type, when contrasted with on-screen computer output | % su
|
| 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 |
Footnote 1 The settings on your browser might differ from these settings.
References to various documents or products are made in this document. You should have the following documents available:
Application Programming Interface, Java Card 3 Platform, v3.0.4, Classic Edition
Runtime Environment Specification, Java Card 3 Platform, v3.0.4, Classic Edition
The Java Language Specification, Third Edition, by James Gosling, Bill Joy, and Guy L. Steele (Addison-Wesley, 2005)
The Java Virtual Machine Specification (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)
The Java Remote Method Invocation Specification, Revision 1.7, Oracle Corporation (http://download.oracle.com/javase/6/docs/technotes/guides/rmi/index.html)
ISO 7816 International Standard, First Edition 1987-07-01, (http://www.iso.org).
Java Card technology is based on Java technology. This specification could not exist without all the hard work that went into the development of the Java platform specifications. In particular, this specification is based significantly on Java Virtual Machine Specification. In order to maintain consistency with that specification, as well as to make differences easier to notice, we have, where possible, used the words, the style, and even the visual design of that book. Many thanks to Tim Lindholm and Frank Yellin for providing a solid foundation for our work.
Oracle is not responsible for the availability of third-party web sites mentioned in this document. Oracle 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. Oracle 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.
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Oracle is interested in improving its documentation and welcomes your comments and suggestions.
Please include the title of your document with your feedback:
Virutal Machine Specification, Java Card 3 Platform, v3.0.4, Classic Edition
Footnote Legend
Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual Machine for the Java platform.