Java虚拟机在执行Java程序的过程中,把它所管理里的内存划分了不同的数据类型区域,作为一名开发者,我们需要了解jvm的内存分配机制以及这些不同的数据区域各自的作用。
jvm体系总体分四大块:
-
类的加载机制
-
jvm内存结构
-
GC算法 垃圾回收
-
GC分析 命令调优
当然这些知识点在之前的文章中都有详细的介绍,这里只做主干的梳理
-
加载,查找并加载类的二进制数据,在Java堆中也创建一个java.lang.Class类的对象
-
连接,连接又包含三块内容:验证、准备、初始化。1)验证,文件格式、元数据、字节码、符号引用验证;2)准备,为类的静态变量分配内存,并将其初始化为默认值;3)解析,把类中的符号引用转换为直接引用
-
初始化,为类的静态变量赋予正确的初始值
-
使用,new出对象程序中使
|