A virtual machine (VM) is a software implementation of a hardware-like architecture, which executes predefined instructions in a fashion similar to a physical central processing unit (CPU). A VM can be used to create a cross-platform computing environment that loads and runs on computers independently of their underlying CPUs and operating systems. A notable example is the Java Virtual Machine, the environment created on a host computer to run Java applets. Although VMs have existed longer than Java, Java has made VMs highly visible.
This term is commonly used in software engineering, programming, scripting, application design, testing, and development lifecycle work.