|
In contrast to other VM
implementation the simpleRTJ doesn't use dynamic
class loading. Instead, it executes pre-linked Java
applications. Linking process is performed on the host
computer using the ClassLinker program.
Pre-linked Java applications
have the following advantages:
 |
No
need to perform dynamic link at run-time eliminating
the application start-up delays |
 |
No
need to perform run-time constant pool resolution
resulting in full speed bytecodes execution |
 |
Reduced
memory footprint of the Java applications as only
referenced classes, methods and fields are included in
the final binary image |
ClassLinker is a Java
application that can be run under any OS supporting the Java
language. Once the Java application is compiled with any of
the standard tools (JDK 1.2, JBuilder, etc.) then the class
files are linked together with all relevant library components
to create an output file that is then uploaded to the target
device and executed by the simpleRTJ.
The link process consists of
reading all class files required to run an application and
replacing all symbolic references with relative offsets and
indexes to classes, methods, fields and other constant pool
items. The size of the final output file is minimized by
including only referenced classes, methods and fields.
The ability to minimize the
size of the application file and the small footprint of the simpleRTJ
allows to deploy the Java language even on systems with
the modest amount of memory.
|