The figure illustrates the native compilation of Java bytecodes using an accelerator. The Java class files are first translated by the accelerator into platform-independent C code. This C code is then compiled using an appropriate C compiler for the platform, generating platform-dependent shared C libraries or DLLs.