skip to main content
10.1145/780732.780738acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

A java virtual machine architecture for very small devices

Published: 11 June 2003 Publication History

Abstract

The smallest complete Java™ virtual machine implementations in use today are based on the CLDC standard and are deployed in mobile phones and PDAs. These implementations require several tens of kilobytes. Smaller Java-like implementations also exist, but these involve compromises in Java semantics. This paper describes a JVM™ architecture designed for very small devices. It supports all the CLDC Java platform semantics, including exact garbage collection, dynamic class loading, and verification. For portability and ease of debugging, the entire system is written in the Java language, with key components automatically translated into C and compiled for the target device. The resulting system will run on the next generation of smart cards, and has performance comparable to the reference CLDC implementation available from Sun™.

References

[1]
Alpern, B., et alia; "The Jalapeno virtual machine", IBM Systems Journal, Vol. 39, No. 1, 2000, pp. 211--238.
[2]
Clausen, L.R., Schultz, U.P., Consel, C., Muller, G.; "Java Bytecode Compression for Low-End Embedded Systems"; ACM Transactions on Programming Languages and Systems, Vol. 22, No. 3, May 2000, pp. 471--489.
[3]
Lindholm, T, Yellin, F; The Java Virtual Machine Specification, Second Edition; Addison-Wesley, April 1999.
[4]
Pugh, W.; "Compressing Java Class Files"; Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '99), 1999, pp 247--258.
[5]
Rayside, D., Mamas, E., Hons, E.; "Compact Java Binaries for Embedded Systems"; Proceedings of the 9th NRC|IBM Centre for Advanced Studies Conference (CASCON '99), 1999, pp. 1--14.
[6]
Taivalsaari, A; Implementing a Java Virtual Machine in the Java Programming Language; Sun Microsystems Laboratories Technical Report TR-98-64, March 1998.
[7]
Taivalsaari, A, Bush, B, and Simon, D; The Spotless System: Implementing a Java System for the Palm Connected Organizer; Sun Microsystems Laboratories Technical Report TR-99-73, February 1999.
[8]
Tip, F., Sweeney, P.F., Laffra, C., Eisma, A., Streeter, D.; "Practical Extraction Techniques for Java"; ACM Transactions on Programming Languages and Systems, Vol. 24, No. 5, November 2002, pp. 625--666.
[9]
The Squawk System, Preliminary Draft Specification 2.1; Sun Microsystems Laboratories; 16 September 2002.
[10]
Connected Limited Device Configuration: http://java.sun.com/products/cldc/
[11]
Java Card: http://wireless.java.sun.com/javacard/
[12]
Squeak Smalltalk implementation: http://www.squeak.org
[13]
Esmertec's JBED ME: http://www.esmertec.com/technology/articles.shtm
[14]
Aplix's JBlend: http://www.aplixcorp.com/products/jblend.html.
[15]
Jikes Research Virtual Machine: http://www.ibm.com/developerworks/oss/jikesrvm/
[16]
joeq virtual machine: http://sourceforge.net/projects/joeq http://www.stanford.edu/~jwhaley/
[17]
Waba programming platform: www.wabasoft.com.
[18]
IBM's WebSphere Micro Environment: http://www.ibm.com/software/wireless/wme/

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
June 2003
304 pages
ISBN:1581136471
DOI:10.1145/780732
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 7
    Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
    July 2003
    293 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/780731
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CLDC
  2. JVM
  3. java
  4. limited-memory devices
  5. next generation smart cards

Qualifiers

  • Article

Conference

LCTES03
Sponsor:

Acceptance Rates

LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media