登山则情满于山,观海则意溢于海。这篇文章主要讲述android classloader双亲委托模式相关的知识,希望能为你提供帮助。
概述 ClassLoader的双亲委托模式:classloader 按级别分为三个级别:最上级 : bootstrap classLoader(根类加载器) ; 中间级:extension classLoader (扩展类加载器) 最低级 app classLoader(应用类加载器)。
根(Bootstrap)类加载器:该加载器没有父加载器。它负责加载虚拟机的核心类库,如java.lang.*等。例如java.lang.Object就是由根类加载器加载的。根类加载器从系统属性sun.boot.class.path所指定的目录中加载类库。根类加载器的实现依赖于底层操作系统,属于虚拟机的实现的一部分,它并没有继承java.lang.ClassLoader类。
扩展(Extension)类加载器:它的父加载器为根类加载器。它从java.ext.dirs系统属性所指定的目录中加载类库,或者从JDK的安装目录的jre/lib/ext子目录(扩展目录)下加载类库,如果把用户创建的JAR文件放在这个目录下,也会自动由扩展类加载器加载。扩展类加载器是纯Java类,是java.lang.ClassLoader类的子类。
【android classloader双亲委托模式】系统(System)类加载器:也称为应用类加载器,它的父加载器为扩展类加载器。它从环境变量classpath或者系统属性java.class.path所指定的目录中加载类,它是用户自定义的类加载器的默认父加载器。系统类加载器是纯Java类,是java.lang.ClassLoader类的子类。
推荐阅读
- Java时间间隔问题在Android中的使用
- Android 应用开发-从设计到实现 3-4 静态原型的状态栏
- Android 5.0及以上版本使用webview不能使用Cookies解决方案
- android在service中使用AsyncHttpClient加载网络资源
- 安卓开源项目周报0322
- 生活娱乐 如何在安卓智能电视上安装自定义软件
- android 再按一次退出(笔记)
- eclipse安装Android模拟器
- Android程序出错报告---ACRA的用法