Just a little smile ^ ^

yoyo_zeng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

动态扩展java程序

1) java.lang.Class的forName方法

可以在装载的时候初始化,适合许需要装载的时候就初始化的类型

2) 用户自定义装载器 java.lang.ClassLoader的子类的loadClass方法

适合在安全上包含一种定制方式把类型装载到保护域。虚拟机使用装载引用类型的同一个类装载器装载所需的类型

虚拟机确认引用是否被装载到当前的命名空间,如没还未,则将类型的全限定名传递到当前的类装载器。确认父类是否被装载(递归),委派双亲类转载器装载类型(递归),被委派的类装载器调用loadClass方法,再调用defineClass或findSystemClass方法,方法会使得虚拟机试图解析二进制数据,变为方法区中的内部结构数据。最后返回需要装载的类型的Class实例,最后检查访问权限。

posted on 2012-06-26 09:28  yoyo_zeng  阅读(232)  评论(0)    收藏  举报