JVM复习
文章平均质量分 82
大迪吃小迪
过度设计也是万恶之源
展开
-
JVM复习(三)-- 类加载器
类加载器1. 类加载过程2. class文件在内存中的内容组成3. 类加载器的组成4. 双亲委派机制5. 父加载器6. 加载范围* 双亲委派机制理解 1. 类加载过程 类加载分四个阶段:Loading、Linking、Initializing 在Loading阶段,类加载器将class加载到内存中,在Linking阶段对class文件的规范进行校验,通过校验后为静态变量赋默认值,并将静态变量的符号引用替换成直接引用,到初始化阶段再给静态变量赋予初始值。Class初始化后等待使用结束GC回收。 加深静态变量原创 2021-08-20 15:35:41 · 233 阅读 · 0 评论 -
JVM复习(二)-- Class文件格式简述
Class文件格式简述Class文件格式1. Magic2. 大小版本号3. 常量池4. Class字节码阅读器 Class文件格式 图中是以java8的class字节码文件结构为例(以16进制展示),以下进行对该结构进行解析。 1. Magic 文件开头的4个字节用来存储magic(魔数),以16进制显示为CA FE BA BE,是class文件的统一标识符。jvm通过magic判断文件是否为class文件,以及文件是否受损(文件开头受损的可能性最大)。 2. 大小版本号 在magic后面的4个字节(第原创 2021-08-20 15:09:55 · 141 阅读 · 0 评论 -
JVM复习(一)-- JVM基础
JVM复习(一)-- JVM基础 1. Java从编码到执行 Java代码从编码到执行: (1) 编码完成的.java文件通过javac编辑成.class文件。 (2) Cass Loader将.class文件以及java库中一些类(class)加载到虚拟机内存中。 (3) 加载到内存的文件通过字节码解释器进行解释或即时编译器进行编译,生成二进制文件,保存到内存中。 (4) 生成的二进制文件通过JVM执行引擎进行执行,与OS硬件进行交互。 2. JVM是一种规范 JVM是一种规范,一个虚构的系统,它通过软原创 2021-08-17 08:04:42 · 134 阅读 · 0 评论