美文网首页
JVM-002、类加载的过程

JVM-002、类加载的过程

作者: Docker_Compose | 来源:发表于2021-06-22 21:07 被阅读0次

类编译-初始化

其他对象-调用->class对象-访问->内存(class文件的二进制)




类加载的过程

类加载的过程

图示:
类加载的过程.jpg

类加载过程详解

 类加载有三个阶段,loading、linking和initializing。其中,linking又分为三个小阶段,verification、preparation和resolution。

 类加载的每一个阶段的作业都是不同的:

  1. loading:将class文件加载至内存。
  2. linking
  • verification:校验class文件是否符合JVM规范;
  • preparation:将静态的成员变量赋默认值;
  • resolution:将类、方法、属性等符号引用解析为直接引用;常量池中的各种符号引用解析为指针、偏移量等内存地址的直接引用。
  1. initializing:将静态成员变量赋初始值。

load与new的区别
概述
过程 区别
load 默认值-初始值
new 申请内存 - 默认值 - 初始值
详解

 load的过程:将静态成员变量从赋默认值到赋初始值的。
 new的过程:先申请内存,申请完内存后,将成员变量赋默认值,然后再将成员变量赋初始值。



类加载器

类加载器.png



加载的顺序

 cache:Custom ClassLoader --> App --> Extension --> Bootstrap
 Bootstrap --> Extension --> App --> Cistom ClassLoader



双亲委派机制

 为什么会有双亲委派机制?主要是安全问题,次要是避免重复加载。

相关文章

  • JVM-002、类加载的过程

    类编译-初始化 其他对象-调用->class对象-访问->内存(class文件的二进制) 类加载的过程 类加载的过...

  • 第一章 类加载过程

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

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

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

  • 面经题目学习

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

  • jvm相关面试题

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

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

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

  • JVM-类加载器

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

  • 01-类加载过程

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

  • 类加载过程--加载

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

  • 深入理解jvm类加载机制

    1.什么是类加载? 类加载机制一个很大的体系,包括类加载的时机,类加载器,类加载时机。 1.1类加载过程 加载器加...

网友评论

      本文标题:JVM-002、类加载的过程

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