This illustration shows a block diagram of how your code is translated to natively compiled libraries. The Java class files are translated into platform-independent C code. Then, this code is compiled and linked into platform-dependent shared libraries. These are further translated into platform-dependent C runtime libraries.