JVM
文章平均质量分 67
熊掌&鱼
持续更新
展开
-
打破双亲委派机制
先来分析ClassLoader的原理,ClassLoader中包含了4个核心方法。双亲委派机制的核心代码就位于loadClass方法中。重要类加载的入口,提供了双亲委派机制。内部会调用findClass。(重要)由类加载器子类实现,获取二进制数据调用 defineClass,比如URLClassLoader会根据文件路径去获取类文件中的二进制数据。(重要)做一些类名的校验,然后调用虚拟机底层的方法将字节码信息加载到虚拟机内存中。执行类生命周期中的连接阶段。原创 2024-05-10 20:18:19 · 1685 阅读 · 0 评论 -
类加载的双亲委派机制
双亲委派机制指的是:当一个类加载器接收到加载类的任务时,会自底向上查找是否加载过,再由顶向下进行加载。类的双亲委派机制是什么?原创 2024-05-09 17:53:32 · 401 阅读 · 0 评论 -
JVM类加载器
类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。类加载器只参与加载过程中的字节码获取并加载到内存这一部分。原创 2024-05-09 10:45:52 · 598 阅读 · 0 评论 -
类的初始化代码示例
运行结果为:2new B02()方法会优先初始化父类A02,执行A02静态变量的赋值,此时a=0,再执行A02的静态代码a=1,再执行子类的静态代码块,此时a=2。原创 2024-04-26 17:40:03 · 193 阅读 · 0 评论 -
类的生命周期
类从加载到虚拟机开始,直到卸载为止,他的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载,其中验证、准备、解析三个部分称为连接。原创 2024-04-26 17:04:13 · 1759 阅读 · 4 评论 -
字节码文件的组成
基本信息:魔数,字节码文件对应的Java版本号;访问标识(public final等等);父类和接口; 常量池:保存了字符串常量、类或接口名、字段名,主要在字节码指令中使用; 字段:当前类或接口声明的字段信息; 方法:当前类或接口声明的方法信息、字节码指令; 属性:类的属性,比如源码的文件名、内部类的列表等原创 2024-04-25 17:13:34 · 126 阅读 · 1 评论