ClassLoader深入分析

ClassLoader深入分析

ClassLoader在平时业务开发中很少会使用到,但在框架代码中出现频率是非常高的。理解ClassLoader的实现以及使用方式能更好地学习优秀的代码,所以本文试图去分析ClassLoader。
ClassLoader,顾名思义就是类加载器,负责将class文件加载到jvm中;同时还有一个重要作用是决定每个类由谁加载。本文的内容包括其加载机制、加载过程和使用方法。

ClassLoader简介

ClassLoader的加载机制是上级委托加载机制。下面将举例说明,任何一个class到达时,当前的CL会判断是否已经加载过,则拒绝此次加载;如果没有加载过则会去询问上级CL,上级会根据加载机制判断,如果已经加载过,同样的处理方式,通知下级,如果没加载过则会依次反复。
JVM平台提供了三级CL,分为两种,一种是加载CL的,一种是则是普通的加载class文件的。Bootstrap ClassLoader是第一类;AppClassLoader则是第二类。其实还有一种CL,ExClassLoader有点特殊,介于两者之间。

ClassLoader加载过程

ClassLoader的使用

  1. 通过ClassLoader中的forName方法
  2. 通过类ClassLoader的loaderClass方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值