java内功之jvm加载双亲模式

原创 2015年07月10日 17:00:41

parent delegation模型

从1.2版本开始,Java引入了双亲委托模型,从而更好的保证Java平台的安全。在此模型下,当一个装载器被请求装载某个类时,它首先委托自己的parent去装载,若parent能装载,则返回这个类所对应的Class对象,若parent不能装载,则由parent的请求者去装载。

android classloader

可以实现动态加载apk
pathclassloader(string path, classloader parent);//需要在data/app下加载apk
dexclassloader(string dexpath, string dexoutputdir, string libpath, classloader parent);//在sdcard目录下

通过VmStack.getCallingClassLoader();获取类加载器
引用代码:
dexclassloader loader = new dexclassloader(“/sdcard/dog.apk”, “/sdcard”, null, VmStack.getCallingClassLoader());
class

相关文章推荐

Java类加载双亲委托模式优点

启动类加载器可以抢在标准扩展类加载之前去装载类,而标准扩展类装载器可以抢在类路径加载期之前去装在那个类,类路径装载器又可以抢在自定义类装载器之前去加载类。所以Java虚拟机先从最可信的Java核心AP...

JVM类加载时经典的双亲委派模型

双亲委派模型:某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。类加载器...

jvm类加载-全盘负责和双亲委派机制

“全盘负责”是指当一个ClassLoader装载一个类时,除非显示地使用另一个ClassLoader,则该类所依赖及引用的类也由这个CladdLoader载入。 例如,系统类加载器AppClassL...

jvm 类加载机制双亲委托机制

1.ClassLoader分为启动类加载器(BootStrap ClassLoader)、拓展类加载器(Extension ClassLoader)、应用类加载器(App ClassLoader) ...

JVM类加载的双亲委派模型

类加载器按照层次,从顶层到底层,分为以下三种:  (1)启动类加载器(Bootstrap ClassLoader)   这个类加载器负责将存放在JAVA_HOME/lib下的,或者被-Xbootcla...

JVM类加载-从ClassLoader源码看双亲委托模型

其实JVM类加载机制,简单地说就是类管理,也就是我们生成的class文件。 三个步骤:装载(load)、链接(link)、解析(Resolve)、还有初始化(Initialize) 关于网上有很多...
  • Mark_LQ
  • Mark_LQ
  • 2015年04月10日 14:53
  • 1063

JVM类加载机制详解(二)类加载器与双亲委派模型

在上一篇JVM类加载机制详解(一)JVM类加载过程中说到,类加载机制的第一个阶段加载做的工作有: 1、通过一个类的全限定名(包名与类名)来获取定义此类的二进制字节流(Class文件)。而获取的方式...

深入JVM系列(三)之类加载、类加载器、双亲委派机制与常见问题

一.概述 定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载和连接的过程都是在运行期间完成的。 ...
  • zshake
  • zshake
  • 2015年10月29日 14:55
  • 757

深入JVM之类加载、类加载器、双亲委派机制与常见问题

一.概述 定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载和连接的过程都是在运行期间完成的。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java内功之jvm加载双亲模式
举报原因:
原因补充:

(最多只允许输入30个字)