JVM 的定义:Java Virtual Machine — java虚拟机。
java程序的运行环境,将 java 程序的源文件 .java 文件编译为字节码文件.class 文件,然后在 JVM 上执行 .class 文件 。
JVM 是运行在操作系统上的,java 程序 是运行在JVM 上的,JVM 为 java 程序屏蔽了底层的 操作系统,因此,java程序可以做到一次编译,到处执行,具有跨平台的好处。
JVM中提供自动内存管理机制,具有垃圾回收机制。
JVM提供数组的越界检查操作,在数组越界时,抛出异常。
JVM 与 JRE ,JDK 的区别
JVM 是Java 的运行环境,屏蔽了 Java程序与底层操作系统的关系。
JRE 是 Java Runtime Enviroment 的缩写,是Java的运行环境。面向Java程序的使用者,而不是开发者。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。(JRE不包括编译器和调试器)
JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境 JRE(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库。
JVM 的学习 : 分为三大块
- 类加载器
- JVM的内存结构(方法区,堆,栈,程序计数器等)
- 执行引擎(解释器,即时解释器,垃圾回收)