java 虚拟机
2025-08-01 15:48:57 3 举报
AI智能生成
java虚拟机相关的知识总结
作者其他创作
大纲/内容
运行时数据区
线程私有
虚拟机栈
局部变量表
结构
数组
this的引用
值
编译时知道的基本类型
对象引用
返回地址类型
编译期完成分配,进入方法前确定
作用
存储操作数栈所需的原始值和结果,通过指令store和load进行数据交换
操作数栈
结构
栈
作用
存储操作指令
方法出入口
动态连接
方法调用
静态解析
连接的解析阶段转为直接引用
私有方法,父类方法,构造器方法
静态方法
分派
静态分派
动态分派
静态类型
动态类型
堆栈指向方法的所属引用
程序计数器
没有oom异常的地方
记录程序运行的位置
本地方法栈
记录本地方法
JNI
线程共享
方法区/元空间
值
运行时常量池
class对象
静态变量
即时编译后的代码
存储位置
字符串常量
存放在java堆中
静态变量
java堆中
其余
存放在堆外
内存不容易满足
运行时常量池
值
版本
字段
方法
接口
编译期自变量和符号引用
具体值
字面量
文本字符串
final声明的常量
基本类型的值
符号引用
类的全限定名
字段名和方法名
来源
类加载时将常量池加载
直接内存
nio
bytebuf
堆
对象
创建
再类加载之后
方式
指针碰撞
空闲列表
记录空闲的地址
分配内存
线程不安全
CAS
本地缓冲
初始化值
设置对象头
对象结构
对象头
字段值
对齐
对象定位
句柄
对象地址
对象类型数据
直接
内存
分代
提高GC效率
减少遍历数
大多对象朝生夕灭
分配
一般先在新生代
转入老年代
老年代引用新生代,防止扫描整个老年代
使用卡表,标记老年代发生更改
垃圾回收
可达性算法
GC Root
局部变量表
静态变量
常量
本地方法引用的对象
活着的线程
java中的引用
强引用
软引用
缓存
弱引用
虚引用
回收算法
标记清除
复制算法
标记整理
分代收集算法
垃圾回收器
Serial 收集器
单线程
ParNew 收集器
多线程
Parallel Scavenge 收集器
Serial Old 收集器
一个单线程收集器
Parallel Old 收集器
CMS 收集器
标记-清除算法
G1 收集器
类加载机制
顺序
加载
连接
验证
准备
解析
初始化
双亲委派
类加载器
引导类加载器
扩展类加载器
应用程序类加载器
0 条评论
下一页