# Java - Bytecode (classfile)

When you compile a program written in the Java programming language, the compiler converts the human-readable source file into platform-independent code in Classfiles (.class) that a Java Virtual Machine can understand. This platform-independent code is called Bytecode.

Classfiles are binary files containing machine code (bytecode).

In order to run the classfile, the JVM has to know the directory where classfiles are stored. This parameter is called the classpath.