黑马程序员-高新类加载器及委托机制学习日记 .

---------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------       


类加载器及委托机制


默认的类加载主要有三个:

BootStrap    加载类的位置 jre/lib/              

EctClassLoader    加载类的位置 jre/lib/ext/      //扩展jar包

AppClassLoader   加载类的位置                    //自己定义的类

加载顺序:BootStrap ——> EctClassLoader ——>AppClassLoader  //加载顺序是从上到下的也被称为委托机制    

自定义类.class.getClassLoader().getClass().getName();

工程jdk类.class.getClassLoader().getClass.getName();    //得到类的字节码的加载器的字节码的名字

ClassLoader loader = 自定义类.class.getClassLoader();   //得到类的字节码的加载器//可以通过加载器类的对象的getParent();获得其父类。

编写自己的类加载器时需要用到的知识点:
           1.自定义的类加载器必须继承ClassLoader(ClassLoader是一个抽象类)  
           
           2.loadClass() //不需要重写,因为这个方法规则了加载器的委托机制
             findClass() //  使用指定的名称查找类
             defineClass()  //将得到的Class文件(二进制数据)转换成字节码

模板设计模式:先从父类中找到需求的解决方法,如果父类中不能解决需求,那么就在子类中实现。

web项目Tomcat服务器上运行  Servlet 类被Tomcat提供的加载器加载

由WebAppClassLoader————加载———>MyServlet————加载————>HttpServelet<————加载————WebAppClassLoader

由ExtClassLoaderr————加载———>MyServlet————加载————>HttpServelet<————加载————ExtClassLoader

--------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------         
 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值