Java is a programming language designed to be independent of the computer processor and the operating system. This is because the Java compiler does not generate machine-specific byte code as do most traditional programming languages. It generates a byte code that can be understood by the Java Virtual Machine (JVM). The JVM is a program that can read and understand the JVM byte code, map it to native objects, and execute the code.