С точки зрения компилятора виртуальная машина Java - это просто еще один процессор с набором команд, байт-кодом Java, для которого можно сгенерировать код. Первоначально JVM была разработана для выполнения программ, написанных на языке Java.
Виртуальные машины Java работают с байт-кодом Java, который обычно (но не обязательно) генерируется из исходного кода Java; JVM также может использоваться для реализации языков программирования, отличных от Java.