Contents
Preface
Who Should Use This Specification?
Before You Read This Specification
How This Book Is Organized
Prerequisites
Related Documents
Typographic Conventions
Acknowledgements
Accessing Sun Documentation Online
Sun Welcomes Your Comments
1. Introduction
1.1 Motivation
1.2 The Java Card Virtual Machine
1.3 Java Language Security
1.4 Java Card Runtime Environment Security
2. A Subset of the Java Virtual Machine
2.1 Why a Subset is Needed
2.2 Java Card Platform Language Subset
2.3 Java Card VM Subset
3. Structure of the Java Card Virtual Machine
3.1 Data Types and Values
3.2 Words
3.3 Runtime Data Areas
3.4 Contexts
3.5 Frames
3.6 Representation of Objects
3.7 Special Initialization Methods
3.8 Exceptions
3.9 Binary File Formats
3.10 Instruction Set Summary
4. Binary Representation
4.1 Java Card Platform File Formats
4.2 AID-based Naming
4.3 Token-based Linking
4.4 Binary Compatibility
4.5 Package Versions
5. The Export File Format
5.1 Export File Name
5.2 Containment in a Jar File
5.3 Ownership
5.4 Hierarchies Represented
5.5 Export File
5.6 Constant Pool
5.7 Classes and Interfaces
5.8 Fields
5.9 Methods
5.10 Attributes
6. The CAP File Format
6.1 Component Model
6.2 Installation
6.3 Header Component
6.4 Directory Component
6.5 Applet Component
6.6 Import Component
6.7 Constant Pool Component
6.8 Class Component
6.9 Method Component
6.10 Static Field Component
6.11 Reference Location Component
6.12 Export Component
6.13 Descriptor Component
6.14 Debug Component
7. Java Card Virtual Machine Instruction Set
7.1 Assumptions: The Meaning of “Must”
7.2 Reserved Opcodes
7.3 Virtual Machine Errors
7.4 Security Exceptions
7.5 The Java Card Virtual Machine Instruction Set
8. Tables of Instructions
Glossary
Index
Copyright © 2003 Sun Microsystems, Inc.
All rights reserved.