类加载过程

作者: Mr_Elliot | 来源:发表于2019-07-02 13:10 被阅读0次

任何程序都需要加载到内存才能与CPU进行交流

字节码 .class 文件同样需要加载到内存中,才可以实现实例化。

ClassLoader就是提前加载 .class 类文件到内存中。在加载类的时候,使用的是parent Delegation Model,双亲委派模型

Java的类加载器是一个运行时核心基础设施模块 主要是在启动之初进行类的Load Link 和init (加载、链接、初始化)

第一步:Load阶段读取类文件产生的二进制流,并转化为特定的数据结构,初步校验cafe babe 魔法书、常量池、文件长度、是否有父类,然后创建对应的Java.lang.Class实例
第二步:Link阶段包括验证、准备、解析三个步骤。验证是更详细的校验,比如final是否合规、类是否正确、静态变量是否合理等;准备阶段是为静态变量分配内存,并设定默认值,解析类和方法确保类与类之间的相互引用的正确性,完成内存结构布局
第三步:Init 阶段执行类构造器<clinit> 方法,如果赋值运算是通过其他类的静态方法来完成的,那么马上解析另外一个类,在虚拟机栈中执行完毕后通过返回值进行赋值。

相关文章

  • 第一章 类加载过程

    要点 类加载过程 类加载器 一、类加载过程 1.类的加载过程 类的加载 .class文件过程分为:加载---->连...

  • JVM总括四-类加载过程、双亲委派模型、对象实例化过程

    JVM总括四-类加载过程、双亲委派模型、对象实例化过程 目录:JVM总括:目录 一、 类加载过程 类加载过程就是将...

  • 2019年JVM面试都问了什么?快看看这22道面试题!(附答案解

    一. Java 类加载过程? Java 类加载需要经历一下 7 个过程: 1. 加载 加载是类加载的第一个过程,在...

  • 面经题目学习

    java类加载过程类加载过程:加载、验证、准备、解析、初始化。类加载过程中主要是将Class文件(类的二进制字节流...

  • jvm相关面试题

    类加载的过程 classLoader.loadClass的类加载过程有如下几步:加载 >> 验证 >> 准备 >>...

  • 类加载过程--加载

    类从加载到虚拟机内存中开始,到卸载出内存为止的步骤如下:http://www.jianshu.com/p/66ec...

  • JVM-类加载器

    类加载器 类加载器是用来把类加载到JAVA虚拟机中。 类加载的过程 类的加载过程采用了父亲委托的机制,这种机制能更...

  • 01-类加载过程

    类加载过程 类加载可以分为加载、连接、初始化3个部分 加载 加载过程是指查找并加载类的二进制数据,加载class文...

  • jvm(二)类加载过程与类加载器

    本篇内容: 类加载过程 类加载器分类 双亲委托机制 沙箱安全机制 类加载过程 类加载器子系统负责将从文件系统或者网...

  • Java类加载问题

    类加载过程类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。一个非数组类的加载阶段(...

网友评论

    本文标题:类加载过程

    本文链接:https://www.haomeiwen.com/subject/deszcctx.html