JVM
文章平均质量分 82
JVM
努力变优秀_Very
这个作者很懒,什么都没留下…
展开
-
JVM (五)虚拟机栈 (局部变量表)
作用 栈的优点 栈运行原理 代码演示 字节码分析 私有方法通过反编译是看不到的 代码演示 分析字节码 main方法 验证 局部变量表所需的容量大小是在编译期确定下来的 分析字节码 method1方法 验证局部变量表所需的容量大小是在编译期确定下来的 使用字节码插件进行查看 局部变量表是影响栈帧大小的关键代码 使用字节码插件查看字节码分析 Code 中内容 main 字节码指令 异常表 其他项(杂项 Misc) **行号表 LineNumberTable ** 局部变量表 LocalVar原创 2022-06-13 11:34:40 · 531 阅读 · 0 评论 -
JVM (四) PC寄存器
PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。 新建类 在PCTest.class 编译文件目录 使用 javap -v PCTest.class 反编译 编译之后使用 javap -v PCTest.class 反编译 解释说明 ① ③ 使用PC寄存器存储字节码指令地址有什么用呢? 为什么使用PC寄存器记录当前线程的执行地址呢?因为CPU需要不停的切换各个线程(并发的去执行),这时候切换回来之后,就得知道接着从哪开始继续执行 JVM字节码解原创 2022-06-13 11:34:07 · 276 阅读 · 0 评论 -
JVM (三) 双亲委派机制
双亲委派机制双亲委派机制工作原理以及演示工作原理双亲委派机制的优势沙箱安全机制 双亲委派机制工作原理以及演示 Java虚拟机对class 文件采用的是 按需加载 的方式,也就是说当需要是使用该类时才会将它的class文件加载到内存生成Class 对象,而且加载某个类的class文件时,Java虚拟机采用的是 双亲委派机制,即把请求交由父类(上级类加载器)处理,它是一种委派机制 代码演示 public class StringTest { public static void main(String原创 2022-05-29 23:09:52 · 106 阅读 · 0 评论 -
JVM 二 类加载子系统
JVM 类加载子系统一级目录加载三步骤类加载器子系统作用 一级目录 从字节码之后都是有JVM负责。 把字节码文件加载到内存当中,用到的就是 类加载子系统 加载三步骤 loading 加载、Linking连接、initialization初始化 类加载器子系统作用 ...原创 2022-05-27 09:39:05 · 103 阅读 · 0 评论 -
JVM 一 (JVM的整体结构)
这里写目录标题JVM的整体结构Java代码的执行流程JVM的架构模型JVM的生命周期JVM的启动JVM的执行JVM的退出 #JVM 中的位置 JVM是运行在操作系统之上的,他与硬件没有直接的交互。 不同的操作系统装的JVM是有区别的。 JVM的整体结构 JVM是解释运行字节码(.class)文件的。 类加载器子系统:字节码文件需要使用类加载器子系统加载到内存当中,生成一个大的class对象。(过程涉及到加载、链接、初始化) 类加载子系统,加载字节码之后会在方法区生成class实例 方法区、堆:多线程共享原创 2022-05-25 21:48:39 · 289 阅读 · 0 评论