Class Unloading with a Concurrent Garbage Collector in an Embedded Java VM

This paper presents the design and implementation of class unloading in an embedded Java Virtual Machine. Even though the Java Language specification states explicitly when a given class must be unloaded there is a surprising lack of papers on a systematized and step-by-step explanation of when and how a class becomes available for unloading. This paper presents a more formalized approach to Java class unloading as well as a design and implementation description involving a concurrent garbage collector. Index Terms — Class Unloading, Concurrent Garbage Collector, Embedded Virtual Machine, Java.