0
点赞
收藏
分享

微信扫一扫

2023年【汽车驾驶员(中级)】免费试题及汽车驾驶员(中级)考试试卷

看山远兮 2023-11-14 阅读 48

类加载就是将Java类文件从文件系统或网络中加载到JVM中,并创建对应的Java类对象的过程。

1. 加载器类型
  • 引导类加载器(Bootstrap Class Loader):负责加载Java的核心类库,如java.lang包中的类等。这些类通常被JVM直接调用,因此它们的加载过程是由JVM的启动过程自动完成的。
  • 扩展类加载器(Extension Class Loader):负责加载Java的扩展类库,它的父加载器是引导类加载器。通过将类路径(ClassPath)中的JAR文件和目录中的类文件加载到JVM中,扩展类加载器可以让我们使用自定义的Java类库。
  • 系统类加载器(System Class Loader):又称应用类加载器(Application Class Loader),负责加载应用程序的类文件。系统类加载器可以访问扩展类加载器和引导类加载器加载的类,但反过来则不行。
2. java 类的加载过程
2.1 加载(Load)

加载是指通过类的全名获取定义此类的二进制字节流。这个过程由Java类加载器完成。它首先检查类是否已经被加载过,如果已经加载过,就返回已经加载的类;否则,从文件系统或者网络中加载类文件,并创建对应的Class对象。

2.5 验证(Verify)

验证是Java类加载过程中的一个阶段,它确保被加载的类文件的内容符合Java虚拟机的规范要求。如果验证失败,会抛出VerifyError错误。

2.3 准备(Prepare)

准备阶段是为类的静态变量分配内存,并将其初始化为默认值。

2.4 解析(Resolve)

解析是将类的符号引用转换为直接引用的过程。在Java代码中引用类、方法、变量等时使用的是符号名称,而在JVM中,需要将这些符号引用转换为具体的内存地址。这个过程在类加载的后期进行。

2.5 初始化(Initialize)

初始化阶段是执行类的初始化代码,包括静态初始化块和静态变量初始化。这个阶段是在类加载的最后进行的。

2.6 使用(Use)

开始使用这个类的实例。

2.7 卸载(Unload)

卸载并回收类的Class对象所占用的资源。

举报

相关推荐

0 条评论