栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

理解类加载器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

理解类加载器

类加载器 1.类加载器概念

java运行时将编译源码成字节码,由jre运行,jre由java虚拟机实现。再由jvm分析字节码,解释并执行。
类加载器有哪些

2.类加载器

引导类加载器(Bootstrap ClassLoader):加载Java的核心库(jre/lib/rt.jar),同时加载另外两种类加载器,由C++编写;
扩展类加载器(Extensions ClassLoader):加载Java的扩展库(jre/ext/*.jar),父类加载器为null;
应用类加载器(Application ClassLoader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的,父类加载器为Extensions ClassLoader;
自定义加载器,父类加载器为Application ClassLoader;

3.类加载机制生命周期

1.加载(从磁盘加载到内存)
2.验证(验证.class格式是否正确)
3.准备(分配内存)
4.解析(类装载器装在雷所引用的所有类)
5.初始化(对象的初始化过程)

4.全盘委托机制

Class.forName
当一个classloader加载一个Class的时候,这个Class所依赖的和引用的其它Class 通常 也由这个classloader负责载入。

5.双亲委派机制

1.ClassLoader.loadClass()
2.ClassLoader.findClass()
3.概念:当一个类收到了类加载请求,他首先不会尝试加载自身,而是把这个请求委派给父类,每个层次加载器都是,因此所有的加载都会传送到启动类加载中,只有父类反馈自身无法完成这个请求时,自类加载器才会尝试自己去加载。
4.优点
不重复加载;
保证了核心库不会被随意篡改;
解决了依赖问题。

6.打破双亲委派机制

1.全盘委托机制
2.借助Launcher的构造方法和 setContextClassLoader()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号