zoukankan      html  css  js  c++  java
  • 不同的类加载器作用与加载动作分析

    在之前【http://www.cnblogs.com/webor2006/p/8905978.html】理论上的介绍了一下关于类加载的一个层次体系,回顾一下:

    那如何来验证上图的这种关系呢?下面用代码来验证,如下:

    实验一:

    那先来看一下这个方法的一个官方说明:

    关于这句话的含义其实可以从如下图中可以看出:

    而简单看一下它的具体实现:

    好对方法有了简单了解之后,回到代码上来:

    在运行之前先来查看一下getParent()的官方说明:

    再来看一下它的具体实现:

    好~~再回来看一下代码的输出:

    是不是跟开篇贴的层次图是一样的。其中系统类加载器也叫应用类加载器,为什么呢?

    秒懂了吧,好接下来再来看另外一个实验:

    实现二:

    这次又用到了一个新的API,所以先了对它做个初步的了解:

    好,那咱们来将这个类加载器打印出来看一下会是啥:

    这样两者就关联上了,接下来去加载一个资源,这里的资源就以工程中的字节码class文件的加载为例,如下:

    这里又有一个新的API,如下:

    【注意】:上两个图片中的资源名称中的classloader写错了,写成了classloadder,人懒这里就不修改了,做个说明~~

    当然也先了解一下这个方法:

    好,继续回到代码:

    通过上面的实例发现有多种获取ClassLoader的方式,下面总结一下:

    其中最后一种方式用得比较少,了解一下既可。下面再来看一下对于不同的类它所对应的类加载器都是什么,其实之前就已经做过实现,这里再来回顾一下:

    因为:

  • 相关阅读:
    创建无线网命令行
    网站推荐(多用于IT)
    企业级快速开发平台
    用代码截图去理解MVC原理
    .Net 下开发使用JSON
    EF实体框架数据操作基类
    EF实体框架数据操作接口
    开启GZIP
    EF快速开发定义数据接口类
    仿造w3school的试一试功能,实现左侧编辑框,右侧效果页面
  • 原文地址:https://www.cnblogs.com/webor2006/p/9029910.html
Copyright © 2011-2022 走看看