JamaicaVM -- User Documentation: The Virtual Machine for Real-time and Embedded Systems | ||
---|---|---|
Prev | Chapter 1. Introduction | Next |
The JamaicaVM itself occupies just about 128kB of memory (depending on the target platform), such that small applications that make limited use of the standard libraries typically fit into about 256kB 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 analyses the Java applications to detect and remove any code and data that cannot be accessed at run-time.
The compaction and smart linking process can be controlled by the user to ensure optimal performance. Compaction typically reduces the size of applications by over 50%, while smart linking allows for much higher gains of well upto 90% even for non-trivial applications!
These footprint reduction mechanism allow 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 represented in a very compact format.