Java virtual machine

The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode.

This language conceptually represents the instruction set of a stack-oriented, capability architecture.

Java Virtual Machines operate on Java bytecode, which is normally (but not necessarily) generated from Java source code; a JVM can also be used to implement programming languages other than Java.

For example, Ada source code can be compiled to Java bytecode, which may then be executed by a JVM.

Read the rest of the article here