java学习笔记

类加载器在加载的时候:
1、并非一次性加载,需要的时候才动态加载
2、static语句块在加载后只执行一次
static{
}
3、dynamic语句块在每次new新的对象的时候都会执行  

等同于构造方法中的语句,用的比较少

class A {

{//dynamic 语句块

}

}

JDK内置ClassLoader
1、bootstrap class loader 是最核心的ClassLoader,没有名字,管理一些最核心的类,以及加载其他的类加载器
implemented by native language(c for example)

load the core classes of jdk 

2、extension class loader 扩展的类装载器
loader the class from jre/lib/txt

3、application class loader 加载用户自己定义的类的加载器,也就是SystemClassLoader

4、其他的一些ClassLoader  SercureClassLoader/URLClassLoader


JDK ClassLoader的层次关系(不是继承)
bootstrap class loader<----------extension class loader<-------application class loader<----other classLoader
ClassLoader在进行类加载的时候,首先检查parent索引指向的上一层的加载器是否已经加载过了,如果加载,此加载器不会

再次加载

注:该帖子摘自我的csdn博客学习笔记
全部评论
谢谢楼主。可以编辑下标题,把文章的关键词加上去。
点赞 回复 分享
发布于 2016-01-19 15:35
点赞 回复 分享
发布于 2016-01-20 21:31

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务