Translates byte code into a file format and binary-code representation that can be linked (using a static linker) with precompiled libraries and resources to form the executable program. An NCCJ provides the opportunity to optimize the structure of the program code to eliminate redundant code as well as to fine tune code sequences (e.g., loops, jumps and substitutions).