| JamaicaVM 3.2 — User Documentation: The Virtual Machine for Realtime and Embedded Systems | ||
|---|---|---|
| Prev | Chapter 1. Introduction | Next |
JamaicaVM itself occupies just about 256kB of memory (depending on the target platform), such that small applications that make limited use of the standard libraries typically fit into about 1.5MB of memory. The biggest part of the memory required to store a Java application is typically the space needed for the application's class files. Several measures are taken by JamaicaVM to minimize the memory needed for Java classes:
Compaction: Classes are represented in an efficient and compact format to reduce the overall size of the application.
Smart Linking: JamaicaVM analyzes the Java applications to detect and remove any code and data that cannot be accessed at run-time.
Compaction typically reduces the size of applications by over 50%, while smart linking allows for much higher gains of up to 90% even for non-trivial applications.
This footprint reduction mechanism allows the usage of complex Java library code, without worrying about the additional memory overhead: Only code that is really needed by the application is included and is represented in a very compact format.