Java can be considered BOTH a COMPILED and an INTERPRETED language because its source code is first compiled into a binary byte-code. This byte-code runs on the Java Virtual Machine (JVM), which is usually a software-based interpreter.