虛擬機(Virtual Machine)是一種軟件對硬件的模擬實現(xiàn)。這個專用名詞被使用在兩個場景,一個是指整機虛擬機(例如VM Ware),另一個是編程語言虛擬機(例如JVM, Python VM)。
編程語言虛擬機提供了一種程序的中間表示,例如Python字節(jié)碼,它非常類似于CPU的指令集(Instruction Set)。
語言虛擬機同時提供了自動管理內(nèi)存,線程(協(xié)程)管理等方法,使它兼具了部分操作系統(tǒng)的功能。
總之,語言虛擬機是專用于某一類編程語言的,對硬件的軟件模擬,它讓程序員從跨平臺,手動管理內(nèi)存等繁重的工作中解放出來。