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 . From the point of view of a compiler , the Java Virtual Machine is just another processor with an instruction set , Java bytecode , for which code can be generated . The JVM was originally designed to execute programs written in the Java language .