编写的程序可以通过对Java运行环境（JRE）软件发命令获得服务，取得期望的结果。透过提供这种服务，JRE起到了虚拟机的作用。程序不必为特定的操作系统或硬件编写。虚拟机根据它们的运用和与直接机器的相关性分为两大类。「系统虚拟机」提供一个可以运行完整操作系统的完整系统平台。「程序虚拟机」则为运行单个计算机程序设计，这意味它支持单个进程。虚拟机的一个本质特点是运行在虚拟机上的软件被局限在虚拟机提供的资源里，也就是说它不能超出虚拟世界。「作业系统层虚拟化」不提供完整作业系统环境，将母机内核分给多个独立空间的应