why jvm is called virtual?
The JVM is "virtual" because it is generally implemented in software on top of a "real" hardware platform and operating system. ... The JVM is central to Java's portability because compiled Java programs run on the JVM, independent of whatever may be underneath a particular JVM implementation.