Methods and apparatus, including computer systems and program products,
for sharing classes and class loaders. One implementation provides a
technique for performing a shared load procedure for a class, performing
a post load procedure for the class, performing a shared link procedure
for the class, performing a post link procedure for the class, and
performing an initialization procedure for the class to reduce memory
consumption and class loading time. Through performance of these
procedures, a first portion of the class (which may include a class block
and object) is loaded into a shared memory accessible by multiple runtime
systems, and a second portion of the class (which may include a class
static variable) as is stored in a local memory associated with a
selected runtime system. A shared master copy of the second portion of
the class is also stored in the shared memory.