On the previous page, we learned about the first program, how to compile and run the first Java application. Here, we will learn, what happens when the Java program is compiled and run.

What happens at compile time?

At compile time, java file is compiled by Java Compiler (It does not interact with OS) and converts the java code into bytecode.

Java Compilation Flow

What happens at runtime?

At runtime, following steps are performed:

Java Runtime Processing

Classloader: is the subsystem of JVM that is used to load class files.
Bytecode Verifier: checks the code fragments for illegal code that can violate access right to objects.
Interpreter: read bytecode stream then execute the instructions.

Q) Can you save a java source file by other name than the class name?

Yes, if the class is not public.
To compile: javac Hard.java
To execute: java Simple

Q) Can you have multiple classes in a java source file?