JamaicaVM -- User Documentation: The Virtual Machine for Real-time and Embedded Systems | ||
---|---|---|
Prev | Chapter 1. Introduction | Next |
The Jamaica Virtual Machine itself occupies just about 120kB of memory (depending on the target platform). The biggest part of the memory required to store a Java applications 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 over 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.