主要观点总结
本文介绍了Java中的类加载机制,包括类的加载、连接、初始化等阶段,详细解释了类加载器的作用和种类,以及双亲委派模型的概念和应用场景。
关键观点总结
关键观点1: 类的加载过程
Java程序运行期间,类的加载过程包括加载、验证、准备、解析、初始化等阶段。其中,加载阶段是将类的字节码文件加载到JVM中,验证阶段是对字节码进行校验,确保类的正确性,准备阶段为类变量分配内存并设置初始值,解析阶段将符号引用转换为直接引用,初始化阶段则是调用构造器方法初始化类的静态变量。
关键观点2: 类加载机制
Java中的类加载机制包括全盘负责和双亲委托模型。全盘负责是指一个类加载器负责加载某个类及其依赖的所有类。双亲委托模型是指先委托父类加载器去加载目标类,只有在父类加载器无法完成加载任务时,才由自己的类加载器尝试去加载。
关键观点3: 类加载器的种类
Java中的类加载器分为Bootstrap ClassLoader、Extension ClassLoader、Appclass Loader等。其中Bootstrap ClassLoader负责加载核心类库,Extension ClassLoader负责加载扩展类库,Appclass Loader负责加载应用程序的classpath下的类文件。
关键观点4: 自定义类加载器的实现
自定义类加载器的实现需要继承java.lang.ClassLoader类,并重写findClass方法。在findClass方法中,将class字节码数组转换为Class类的实例,然后调用loadClass方法完成类的加载。
关键观点5: 双亲委派模型的应用场景
双亲委派模型的主要应用场景包括避免类的重复加载、保证基础类的统一性、JDBC驱动的实现和Web应用的热部署等。
关键观点6: 小结
本文总结了Java中的类加载机制,包括类的生命周期、类加载器的种类和自定义类加载器的实现方式,以及双亲委派模型的应用场景。对于以后面对类加载流程的问题,读者应该能够了然于胸。
文章预览
最近人口调查出炉,这爆裂的男女人口比例,你慌了吗?还好程序员不用担心这个问题,因为他可以 new 一个,哈哈哈,之前我们了解了对象的产生过程,其中我们谈到了类的加载,这节我打算好好来絮叨絮叨,类是如何加载的,搬好小板凳,展示! 1 什么是类的加载 一个完整的的类加载机制在整个java程序运行期间处于一个什么环节,如下图所示 其中java编译器将java文件编译成.class文件,接下来由类装载器将这些.class文件加载到JVM中,一言以蔽之,JVM通过 类加载器 将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的Class 对象,作为方法区类数据的访问入口 2 类加载的过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,包含三大部
………………………………