The main feature of gcj is that it can compile programs
written in the Java programming language to native code. Most
extensions that have been added are to facilitate this functionality.
gcj makes it easy and efficient to mix code written in Java and C++.
See About CNI, for more info on how to use this in your programs.
libgcj system classloader. When trying to load a class
gnu.pkg.SomeClass the system classloader will first try to load the
shared library lib-gnu-pkg-SomeClass.so, if that fails to load the
class then it will try to load lib-gnu-pkg.so and finally when the
class is still not loaded it will try to load lib-gnu.so. Note that
all .s will be transformed into -s and that searching
for inner classes starts with their outermost outer class. If the class
cannot be found this way the system classloader tries to use
the libgcj bytecode interpreter to load the class from the standard
classpath.