首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Java虚拟机-关于ClassLoader

2012-09-05 
Java虚拟机---关于ClassLoader1、虚拟机的核心原则:保证类的安全性2、ClassLoader使用三种机制来保证类的安

Java虚拟机---关于ClassLoader
1、虚拟机的核心原则:保证类的安全性

2、ClassLoader使用三种机制来保证类的安全
   A、使用双亲职责模式来加载类
   B、只有在同一个ClassLoader且同一个包下面的类才能互相访问
   C、设置ClassLoader的例外,有一些包中的类不能进行加载

3、ClassLoader的双亲链:
   启动加载类-->扩展加载类-->系统加载类-->用户自定义加载类

4、在2中描述的措施不能解决接口实现的问题,如果接口AIface是在包A中,其实现类AImpl是在包B中,在2中的措施下就不能进行访问,这样就引入了线程上下文加载器。

5、在WEB容器中,如Tomcat,是实现不同的类加载器的,如Tomcat中的类记载器在加载类的时候是首先自己进行加载,如没有做交给父加载器来加载,这样做是为了保证本地的类被有限加载,但是核心类仍然是交给启动加载类来完成的。

6、虚拟机出于安全等因素考虑,不会加载 < Java_Runtime_Home >/lib 存在的陌生类 ,开发者通过将要加载的非 JDK 自身的类放置到此目录下期待启动类加载器加载是不可能的。

7、自定义类加载器时如果不指定父类加载器,则系统加载器是默认的父类加载器。

8、线程上下文加载器实际上就是一个普通的加载器,只不过是这个加载器可以加载该线程上的类,而避免双亲模式中的盲点。

热点排行