Abstract
The thesis is about implementing a generic mechanism, Generic Packages with Expandable Classes, in Java. The thesis desribes the syntax and the semantics for including the generic mechanism into the Java programming language. The generic mechanism has a form of
static multiple inheritance, and how to organize the runtime to make an efficient homogeneous implementation of static multiple inheritance is studied. The thesis describes how the runtime of the Java Virtual Machine is altered by adding a new data structure for the homogeneous implementation and new bytecode instructions are
proposed for performing operations that involve classes from the generic packages. In the proposal, packages will be compiled into package files, and the format and compilation of packages are described. Just-in-Time compilation of the bytecode is discussed and the runtime efficiency of the proposed implementation is compared to a heterogeneous implementation or non-generic code.