虚拟机
虚拟机(virtual machine)就是一台虚拟的计算机,他是一款软件,用来执行一系列虚拟机指令,大体上,虚拟机可以分为系统虚拟机和程序虚拟机。
- 大名鼎鼎的Visual Box,VMware就属于系统虚拟机,他们完全时对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。
- 程序虚拟机的典型代表就是java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为Java字节码指令
ps:无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。
Java虚拟机
- Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。
- jvm平台的各种语言可以共享Java虚拟机带来的跨平台性、优秀的垃圾回收器,以及可靠的及时编译器。
- Java技术的核心就是Java虚拟机(JVM,java Virtual Machine),因为所有的Java程序都运行Java虚拟机内部。
- java字节码不仅仅只是Java语言编译而成,其他语言的字节码只要符合Java虚拟机的规范,都可以被虚拟机所执行
虚拟机的作用
Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。
特点:
- 一次编译,到处运行
- 自动内存管理
- 自动垃圾回收功能