When the Java source code is compiled, it will be converted into bytecode. At runtime, JVM interprets bytecode as machine code, which can run on specific hardware and operating systems. This mechanism enables Java programs to run on various devices without any modification to the source code.