JVM
2021-09-26 11:04:36 4 举报
简单学习了一下JVM,记录一下
作者其他创作
大纲/内容
对象静态变量
minor GC
双亲委派机制:当加载一个类字节码文件的时候,应用类加载器会委托扩展类加载器帮忙加载,如果扩展类加载器不能加载,应用类加载器会询问引导类加载器是否加载过,如果引导类加载器加载过,则使用引导类加载器所加载的,反之应用类加载器才会自己加载比如:你自己写一个包java.lang.String,其实这个类在jdk编译的时候已经存在,即被引导类加载器加载过了,所以你自己写的这个类在加载完成后,实际使用的是引导类加载器加载的类
硬件
本地方法栈native method stack
method栈帧
.class字节码文件
走完这个应该走啥
线程中调用的方法的放到方法区,然后他的内存地址存到这里符号引用变成直接引用java中的括号这些都叫符号
bootstrap引导类加载器
变量
main栈帧
老年区
可达性分析算法找他的成员变量标记为非垃圾
A
程序计数器Program Counter
本地方法库
main 线程
App应用类加载器
操作数栈
GC ROOT
执行引擎
java栈stack
jvm内存模型
堆heap
复制算法适用于年轻代幸存区
Math.class
局部变量表
基本架构
Ext扩展类加载器
垃圾收集线程
FILO先进后出
.java
类加载器
运行时数据区Runtime data area
方法区Mehtod Area元空间常量 静态变量 类信息
每次存活的对象分代年龄加一,15岁移到老年区,在对象头存放
标记清除压缩法
本地方法接口
JVM虚拟机
to幸存者区
执行
标记清除法
young区/年轻代
如果new 对象,存放的是对象在堆里面的引用地址
修改
高优先级线程进入,当前线程暂停,等待其他线程结束,之后根据计数器获取走到哪一步了
类加载器Class loader
用来做运算的临时空间
Eden区伊甸园区
computer系统
Full GC
方法出口
动态链接
永久代
栈
from幸存者区
0 条评论
下一页