Virtual Machines and Bytecode - Yousef's Notes
Virtual Machines and Bytecode

Virtual Machines and Bytecode

A Virtual Machine is an abstract computing machine that provides a runtime environment in which bytecode can be executed.

The code is compiled to bytecode, which is a binary format that is independent of the hardware and operating system. The bytecode is stored in a file with the .class/.pyc extension. The VM reads the bytecode and executes it on the host platform.

In the context of Java, a Java Virtual Machine (JVM) is an abstract computing machine that provides a runtime environment in which Java bytecode can be executed.

From the OS perspective, Virtualization is a technique that allows multiple operating systems to run on a single physical machine.