zoukankan      html  css  js  c++  java
  • 类加载器的分类

    • JVM支持两种类型的类加载器,引导类加载器(Bootstrap ClassLoader)和自定义类加载器(UserDefined ClassLoader)。Java的核心类库都是使用引导类加载器进行加载的,例如String类就是用引导类进行加载的。
    • 自定义类加载器一般指程序中由开发人员自定义的一类类加载器,但是Java虚拟机规范是将所有派生于抽象类classLoader的类加载器都划分为自定义类加载器。
    • 日常程序中我们常见的类加载器有3个:Bootsrap Class LoaderExtension Class LoaderSystem Class Loader。对于用户自定义类来说,默认使用系统类加载器进行加载。

    为什么要使用自定义类加载器:

    1. 隔离加载类
    2. 修改类加载的方式
    3. 扩展加载源
    4. 防止源码泄露

    用户自定义类加载器实现步骤:

    (1) 开发人员可以通过继承抽象类java.lang.ClassLoader类的方式,实现自己的类加载器。

    (2) JDK1.2前,自定义类加载器时总会去继承ClassLoader类并重写LoadClass()方法,从而实现自定义类加载器。但是JDK1.2之后不建议用户覆盖loadclass()方法,而建议把自定义的类加载逻辑写在findclass()方法中。

    (3) 在编写自定义类加载器时,如果没有过于复杂的需求,可以直接继承URLClassLoader类,这样可以避免自己去编写findClass()方法以及获取字节码流的方式使得自定义类加载器编写更简洁。

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    在linux中安装JAVA的环境和安卓的环境(1)
    如何安装Tomcat
    Android开发历程_2(实现简单的乘法计算)
    Android开发历程_1(从1个activity跳转到另一个activity)
    Java 征途:行者的地图
    android系统架构之虚拟机
    Android四大组件及生命周期
    GridView属性大全
    安卓中各种用到的监听器
    移动端控制台排查方法
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/13572930.html
Copyright © 2011-2022 走看看