Java虚拟机
文章平均质量分 97
虚拟机学习笔记
Seven_Year1
一个纯种Java小白。。。。
展开
-
深入理解Java虚拟机03—字节码执行引擎
文章目录1 运行时栈帧结构1.1 局部变量表1.2 操作数栈1.3 动态连接1.4 方法返回地址1.5 附加信息2 方法调用2.1 解析2.2 分派2.2.1 静态(多)分派2.2.2 动态(单)分派3 执行引擎3.1 基于寄存器的指令集3.2 基于栈的指令集1 运行时栈帧结构Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual MachineStack)的栈元素。每一个.转载 2021-08-02 22:10:05 · 401 阅读 · 0 评论 -
深入理解Java虚拟机02—类加载机制
文章目录1 类加载过程1.1 加载1.2 连接1.2.1 验证1.2.2 准备1.2.3 解析1.3 初始化2 类加载器2.1 类加载器2.2 双亲委派模型2.3 破坏双亲委派模型1 类加载过程1.1 加载通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口注:数组类本身不通过类加载器创建,它是由Java虚拟机直接在内存中动态构造出.原创 2021-08-02 17:46:56 · 342 阅读 · 0 评论 -
深入理解Java虚拟机01—内存管理
文章目录内存管理1 运行时数据区域1.1 程序计数器1.2 虚拟机栈1.3 本地方法栈1.4 Java堆1.5 方法区2 HotSpot虚拟机对象探秘2.1 对象的结构2.2 对象的访问方式2.3 对象的创建3 内存分配3.1 对象优先在Eden分配3.2 大对象直接进入老年代3.3 长期存活的对象将进入老年代3.4 动态对象年龄判定3.5 空间分配担保4 内存回收4.1 判断对象是否存活4.2 Java引用4.3 回收方法区4.4 垃圾收集算法4.4.1 分代收集理论4.4.2 标记—清除算法4.4.3.原创 2021-07-31 10:25:43 · 159 阅读 · 0 评论