他们的不同点:

  • Java的引导类加载器是由C++编写的,Android中的引导类加载器则是用Java编写的。
  • Android的继承关系要比java继承关系更加复杂一些,提供的功能也多。
  • 由于android中加载的不再是class文件,因此android中没有ExtClassLoader和AppClassLoader。代替的是PathClassLoader、DexClassLoader.

Java中的ClassLoader:

java中的类加载器主要有2种类型:系统类加载器、自定义类加载器。

其中的系统类加载器:

Android: Java的ClassLoader和Android的ClassLoader的区别_第1张图片

继承关系图:

Android: Java的ClassLoader和Android的ClassLoader的区别_第2张图片

 

类加载器查找Class采用:双亲委托模式。

Android中的ClassLoader:

 

Android: Java的ClassLoader和Android的ClassLoader的区别_第3张图片

继承关系图:

Android: Java的ClassLoader和Android的ClassLoader的区别_第4张图片

 

JVM虚拟机也是一个重要的内容。

常说的JDK包含了Java语言、Java虚拟机、Java API类库。【JDK是java程序开发的最小环境】

          JRE包含了Java API中的Java SE API 子集、Java虚拟机。

了解JVM的执行过程、JVM结构、类加载子系统、生命周期、对象的创建、GC、5大内存模型十分的重要。

 

具体细节可查阅《深入JVM虚拟机》或阅读源码

 

ClassLoader的创建流程在Android中可查看Zygote孵化器的创建过程寻找蛛丝马迹。

 

更多相关文章

  1. Android Studio无法加载API帮助文档问题
  2. Android加载对话框,异步执行代码的封装类
  3. ImageView属性中android:src和android:background有什么区别
  4. android 加载图片到gallery
  5. android中选中,获得焦点的,点击区别
  6. Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

随机推荐

  1. Android Studio - 第四十六期 不会ANR的
  2. Android(2.Activity初步)
  3. 举例说明android中SmsManager的用法---用
  4. 关于Google Android平台的ClockworkMod R
  5. Java泛型应用之打造Android万能ViewHolde
  6. 关于android中的ANR
  7. Android编译过程总结及android中各种img
  8. Android 如何实现带滚动条的TextView,在更
  9. android 的短信发送
  10. android 调用系统相机或者系统相册功能时