project/jvm/jvm调优之深入理解jvm底层原理1.18.md

51 lines
1.0 KiB
Markdown
Raw Permalink Normal View History

2022-06-21 10:13:53 -04:00
方法区:类
堆:对象
## 装载:
class文件->字节流->类加载器(代码模块) 自定义类加载器 字节码增强 java agent
将一个字节流代表的静态存储结构转化成方法区运行时数据结构
在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区 的数据访问入口
## 链接
### 验证
文件格式验证,class文件,jvm版本
元数据验证,对于java语法的验证
字节码验证,数据流和控制流验证,运行时检查,栈数据类型和操作码
符号引用验证,将符号引用转为直接引用.(链接)
### 准备
常量赋值
### 解析
从运行时常量池中的符号引用动态确定具体值的过程(符号引用->直接引用).
对解析的结果进行缓存.
## 初始化
执行类构造器方法的过程.
声明类变量为定制的初始化值
使用静态代码块为类变量赋值
## 对象几种状态
1. 创建阶段
2. 应用阶段
3. 不可见阶段
4. 不可达阶段
5. 收集阶段
6. 终结阶段
7. 空间重分配阶段