文章目录
- 引言
- I JVM基础知识
- Java 语言是解释型的
- OpenJDK和Sun/Oracle JDK和hotspot的关系
- JDK、JRE、JVM 之间的关系
- JVM基础功能
- JVM组成
- JIT:Just In Time Compiler
- JVM内存区域
- JVM运行时数据区
- JVM 堆内存布局
- II JVM 内存参数
- 常用参数
- JIT编译参数
- GC信息打印
- GC参数
- III 例子
引言
JVM(Java Virtual Machine Java虚拟机)是虚构出来的计算机,是通过实际的计算机仿真模拟各种计算机功能来实现的 。
JVM包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个储存方法域。它屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在各种平台上不加修改的运行。
JVM在执行字节码时最终还是把字节码转换成具体平台上的机器指令执行。(字节码跨平台,而JVM不跨平台,JVM在各个平台系统是定制化的,即各个平台要安装对应的JRE。)
-
方法区:用来存储代码。将.class文件加载到内存中,并存储在方法区
-
栈:用来存储局部变量,形参,方法的返回值,中间运算结果
-
堆:成员变量,数组对象,方法的引