(The virtual machine is the program that interprets or, in some cases, compiles and runs the compact Java bytecodes that make up a Java program.)
Java programs can be run in a virtual machine.
Java programs cannot be run on virtual machines.