类加载

Java38

加载-----连接(验证---准备---解析)------初始化:

  • 加载就是 将类的二进制字节码载入JVM中、将这个字节流代表的存储静态存储结构转化为方法区的运行时数据结构、在堆中生成一个java.lang.Class 对象,表示堆方法区中类的引用
  • 验证就是验证加载进来的类是不是对jvm有害。文件格式验证(在类装载过程)、元数据验证(在准备的那一步用到了元素据)、字节码验证(贯穿流程)、符号引用验证(贯穿流程)。这四个验证并不是严格按照这个顺序走下来的,是贯穿整个流程的过程。

  • 准备工作是为静态变量和常量设置默认值。分配内存并为类的静态变量赋值,这是当前类型的默认值。

    [En]

    preparation is to set default values for static variables and constants. Allocates memory and assigns values to static variables of the class, the default value of the current type.*

  • 解析类中的符号引用(一些描述性信息,如字段和方法,因为我们不能在文件中将其描述为此字段,也不能指向实际内存。指向直接引用(指向真实地址)

    [En]

    parsing the symbolic reference in the class (some descriptive information such as fields and methods, because we cannot describe it as this field in the file, nor can it point to real memory. To a direct reference (pointing to a real address)*

  • 按照我们的意愿进行初始化。

扩展: 初始化顺序

  • 父类的静态变量、静态代码块
  • 子类的静态变量、静态代码块
  • 父类的非静态变量、非静态代码块、构造方法
  • 子类的非静态变量、非静态代码块、构造方法

类加载器

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

JavaScript的原型模式

JavaScript的原型模式 一、函数的prototype 属性 在我们创建的每个函数中,都有一个prototype(原型)属性,这个属性是一个对象,它的用途是来包含可以由特定类型的实例共享的属性和...
Java

redis

Nosql概述 由于数据访问的数量不断增加,单独的关系数据库不再能够支持用户需求,因此体系结构也会根据用户需求逐步演进。[En]Because of the increasing number of ...
Java

SpringMVC(1)

一:SpringMVC简介:它时一种设计模式或者称为设计规范,M既Model层,模型层,主要对应Javaweb时的Dao和service,V即View层,视图层,主要对应Javaweb时的jsp/HT...
Java

mybatis-plus笔记

新加代码生成器新版,基本配置完毕,其他细节自行修改 需要的基础:把我的MyBatis、Spring、SpringMVC就可以学习这个了! 为什么要学习它呢?MyBatisPlus可以节省我们大量工作时...
Java

谈谈设计对软件工程目标实现的影响

本文从个人经验出发,谈谈设计对软件工程目标实现的影响。 一、软件工程概念 首先明确下"软件工程的概念"。 看下原文(注意,原文也有一些问题,但总体没有大毛病): 既然有分歧,我只能选择自己认可的部分,...
Java

从零玩转第三方登录之QQ登录

从零玩转第三方登录之QQ登录 前言 在实际连接之前,让我们谈谈后台方案设计。由于它连接到第三方登录,因此保存用户信息是不可避免的。首先需要明确用户成功登录第三方后,[En]Before the act...
Java

搭建简单JavaWeb项目

参考:(17条消息) 手把手搭建一个完整的javaweb项目(适合新手)_心歌技术的博客-CSDN博客_javaweb项目完整案例 补充项目结构的细节,进行了一点修改,修改为学生信息管理系统 以下是搭...
Java

Map集合

一、什么是Map: 首先map是一个集合,一种按照键存储元素的容器。在map中键可以是任意类型的对象,map中不能有重复的键,每一个键都有一个对应的值。 二、Map集合的特点: 1、Map是一个双列集...
Java

Java面试必问:ThreadLocal终极篇 淦!

开场白 由于最近天气炎热,张三心情不好,所以他决定出去面试,与面试官聊天,解决问题。结果,在简历递交后,面试就安排好了。[En]Zhang San is not in a good mood beca...