JVM: Java Virtual Machine,通过软件来模拟Java字节码的指令集,是Java程序的运行环境
1、从开发到运行期间JVM所处的位置
从上图看,我们开发java程序到执行起来,一共有以下步骤
1、编写java源代码-由开发人员执行
2、java源代码编译成java虚拟机的输入,即java字节码-由javac执行
3、java虚拟机根据java字节码,执行响应的操作系统指令
4、操作系统执行具体硬件指令
2、JVM主要功能
1、通过ClassLoader寻找和装载class文件
2、解释字节码成为指令并执行,提供class文件的运行环境
3、进行运行期间的内存分配和垃圾回收
4、提供与硬件交互的平台
3、虚拟机是Java平台无关的保障
从上图看,我们可以得出以下结论:
1、我们开发是平台无关的。
2、Java虚拟机是平台相关的。不同的平台,Java虚拟机需要执行不同的操作。
3、装载进Java虚拟机的是Java字节码,不是java源代码。可以得出一个特性,开发语言无关。不一定得用java源文件才能编译出class文件。比如现在市面上的jRuby、jPython等语言都可以编译出class文件供java虚拟机执行