There are 2 steps required to run any Java program i.e. compilation and interpretation. During compilation process Java compiler (javac) is used to compile any Java program. After the successful completion of compilation process., java compiler generates a file known as class file / byte code file / Binary code file / Magic code file since the generate class file is encrypted file therefore it is known as Byte code or Binary code file. Size of generated class file is always smaller than the executable file generated in C / C+ + / VB / VC + + and therefore it is portable to transfer class file from one machine to another machine through Network or Internet and hence it is known as magic code file.