JVM概述及其组成部分
JVM概述
VM
VM,即虚拟机(Virtual Machine), 就是一台虚拟的计算机。它是一款软件,用来模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。大体可以分为系统虚拟机和程序虚拟机,VMware属于系统虚拟机,JVM属于程序虚拟机。
JVM
JVM,即java虚拟机(Java Virtual Machine),它是专门为了执行Java单个程序而设计的,拥有独立的运行机制,也是Java语言跨平台特性的基础。在Java虚拟机中执行的指令我们称之为java字节码指令。Java虚拟机时Java技术的核心,因为所有的Java程序都运行在Java虚拟机内部。
JVM的作用及特点
Java虚拟机的作用就是运行Java程序,将Java的字节码文件解释/编译为不同平台(操作系统)上的机器码指令进行执行,Java虚拟机对于一个Java程序在在执行过程中的行为都有着详细的定义,包括Java程序如何加载到虚拟机,对象应该存在什么地方,方法应该存在什么地方等等。
Java虚拟机的特点:
一次编译到处执行;
自动内存管理;
自动垃圾回收机制;
跨语言性(现在的JVM也可以执行其它语言的字节码文件).
JVM的位置
我们都知道,JDK是java开发工具包,提供了java的开发环境和运行环境;JRE则是Java运行环境,为Java程序的运行提供了所需环境,可以简单理解为JDK包含了JRE,如果你想Java程序只需要安装JRE就可以了,而JVM你也可以简单理解为JVM包含在JRE中。
JVM组成
程序运行前将.java文件转换为.class文件(字节码文件),JVM首先将字节码文件通过类加载器把文件加载到运行时数据区,再通过特定的命令解析器执行引擎将字节码文件翻译为底层系统可以识别的机器码指令交由CPU去执行,这个过程中需要通过本地方法(库)接口调用其它语言来实现整个程序的功能。
JVM的中的各个组成部分都有自己的详细功能和用处,我会在后面的文章详细讲解,欢迎大家关注或到主页的专栏-JVM分区查看。