Python 官方文档:入门教程 => 点击学习
目录1. 类加载过程加载链接初始化2. 类加载器启动类加载器扩展类加载器应用类加载器自定义类加载器双亲委派模型1. 类加载过程 加载 通过类的全限定名(包名 + 类名),获取到类的
通过类的全限定名(包名 + 类名),获取到类的.class
文件,加载到元空间。
.class
文件的安全性执行类的构造器方法init
()的过程,若该类具有父类,JVM
会保证父类的init
先执行,然后在执行子类的init
。
启动类加载器是由C/C++语言实现的,用来加载Java核心类库。启动类只加载包名为:java、javax、sun开头的类
父类加载器为启动类加载器
。加载以下两个目录中的类库:
java.ext.dirs
目录jre/lib/ext
目录我们就可以将我们自己的包放在以上目录下,就会自动加载进来了。
父类加载器为启动类加载器
,负责加载环境变量classpath
或者系统属性java.class.path
指定路径下的类库,是程序中默认的类加载器,我们Java程序中的类,都是由它加载完成的。
继承java.lang.ClassLoader
类,重写findClass()方法 。如果没有太复杂的需求,可以直接继承URLClassLoader
类,重写loadClass
方法。
作用
jvm对class文件采用的是按需加载的方式,当需要使用该类时,jvm才会将它的class文件加载到内存中产生class对象。在加载类的时候,是采用的双亲委派机制
。
类加载器
接收到了类加载
的请求,它自己不会先去加载,会把这个请求委托给父类加载器
去执行。启动类加载器:Bootstrap ClassLoader
ClassNotFoundException
异常,这就是双亲委派模式
打破双亲委派模型
用途:
方法:
loadClass
方法到此这篇关于Java 类加载过程与类加载器详细介绍的文章就介绍到这了,更多相关Java 类加载 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java类加载过程与类加载器详细介绍
本文链接: https://www.lsjlt.com/news/171264.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0