A Low-Footprint Class Loading Mechanism for Embedded Java Virtual   Machines
  This paper shows that it is possible to dramatically reduce the memory consumption of classes loaded in an embedded Java virtual machine without reducing its functionalities. We describe how to pack the constant pool by deleting entries which are only used during the class loading process. We present some benchmarks which demonstrate the efficiency of this mechanism. We finally suggest some additional optimizations which can be applied if some restrictions to the functionalities of the virtual machine can be tolerated. 
Christophe Rippert (INRIA Futurs), Alexandre Courbot (INRIA Futurs),   Gilles Grimaud (INRIA Futurs, LIFL)