- Source Code: .java file -> Compiled to .class file (bytecode) using
javac
- This .class file can only be run by a JVM unlike the
./a.out
files in C/C++
- Each .java file is only allowed to have a single class that matches the name of the file
- Only one public class allowed per file and the name of this public class is the name of the file