Java code is ran via the JVM, which:
- Uses its Interpreter to read the byte-code given by the Java Compiler
- Runs its JIT compiler for optimization optionally
- Runs the code for every device.
Therefore, Java is kind of both interpreted and compiled, but not* fully* interpreted and not fully compiled For our intents, we will assume it’s interpreted