他们的不同点:

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

Java中的ClassLoader:

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

其中的系统类加载器:

继承关系图:

 

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

Android中的ClassLoader:

 

继承关系图:

 

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(安卓)面试题总结之Android(安卓)基础(五)
  3. android与javascript交互(Binding JavaScript code to Android(安
  4. Android加载对话框,异步执行代码的封装类
  5. android 加载图片到gallery
  6. android 隐藏标题栏
  7. Android(安卓)UnitTest FrameWork
  8. Android(安卓)代码实现应用强制装到手机内存
  9. Android(安卓)动态加载(四) - 简单demo实现

随机推荐

  1. PHPCMS V9 的手机门户wap绑定单页面
  2. phpstorm取消自动保存并标识修改的文件为
  3. 尽管“SQL语法错误”消息仍然成功执行
  4. 使用mysql验证在php中登录表单
  5. php学习笔记四:使用 xampp-部署php网站
  6. JRoute::_() -函数在哪里?在joomla
  7. 如何在角度js中获取url参数
  8. Wordpress主题调试:插件侧边栏导致原始侧
  9. 使用jquery和php手动在数据库中增加一个
  10. 为什么foreach在循环中不修改数组时要复