java class Loader
2016-04-30 21:50
393 查看
当一个类装载器(class loader)被请求装载类时,它首先按照顺序在上层装载器、父装载器以及自身的装载器的缓存里检查这个类是否已经存在。简单来说,就是在缓存里查看这个类是否已经被自己装载过了,如果没有的话,继续查找父类的缓存,直到在bootstrap类装载器里也没有找到的话,它就会自己在文件系统里去查找并且加载这个类。
启动类加载器(Bootstrap class loader):这个类装载器是在JVM启动的时候创建的。它负责装载Java API,包含Object对象。和其他的类装载器不同的地方在于这个装载器是通过native code来实现的,而不是用Java代码。
扩展类加载器(Extension class loader):它装载除了基本的Java API以外的扩展类。它也负责装载其他的安全扩展功能。
系统类加载器(System class loader):如果说bootstrap class loader和extension class loader负责加载的是JVM的组件,那么system class loader负责加载的是应用程序类。它负责加载用户在$CLASSPATH里指定的类。
用户自定义类加载器(User-defined class loader):这是应用程序开发者用直接用代码实现的类装载器。
启动类加载器(Bootstrap class loader):这个类装载器是在JVM启动的时候创建的。它负责装载Java API,包含Object对象。和其他的类装载器不同的地方在于这个装载器是通过native code来实现的,而不是用Java代码。
扩展类加载器(Extension class loader):它装载除了基本的Java API以外的扩展类。它也负责装载其他的安全扩展功能。
系统类加载器(System class loader):如果说bootstrap class loader和extension class loader负责加载的是JVM的组件,那么system class loader负责加载的是应用程序类。它负责加载用户在$CLASSPATH里指定的类。
用户自定义类加载器(User-defined class loader):这是应用程序开发者用直接用代码实现的类装载器。
相关文章推荐
- java回调 -- 别再让我犯糊涂
- 20145325张梓靖 《Java程序设计》第9周学习总结
- Java单元测试工具:JUnit4——JUnit测试套件使用及参数化设置
- Java循环练习:鸡兔同笼
- 【附源码】搭建spring mvc +freemarker
- 20145208 《Java程序设计》第9周学习总结
- 浅析Java中CountDownLatch用法
- java基础笔记04
- Java循环练习: 有1、2、3、4四个数字,能组成多少个无重复数字的三位数?都是多少?
- ojdbc*jar 与jdk*那些事儿
- Java循环练习:婚礼上的谎言
- 【Java】——J2EE基础
- 《Java中的自动装箱和拆箱功能.》
- Java单元测试工具:JUnit4——JUnit详解之运行流程及常用注解
- Java重拾之猜数字小游戏
- 20145330《Java程序设计》第四次实验报告
- Java 之 线程和进程
- Java循环练习:百鸡问题
- java项目——防止羊毛党“薅羊毛”
- Java多线程实例