GIJ is not limited to interpreting bytecode. It includes a class loader which can dynamically load shared objects, so it is possible to give it the name of a class which has been compiled and put into a shared library on the class path. . This is a transitional package. It can be removed.