加载-----连接(验证---准备---解析)------初始化:
- 加载就是 将类的二进制字节码载入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)*
-
按照我们的意愿进行初始化。
扩展: 初始化顺序
- 父类的静态变量、静态代码块
- 子类的静态变量、静态代码块
- 父类的非静态变量、非静态代码块、构造方法
- 子类的非静态变量、非静态代码块、构造方法
类加载器:
相关文章
JavaScript的原型模式
JavaScript的原型模式 一、函数的prototype 属性 在我们创建的每个函数中,都有一个prototype(原型)属性,这个属性是一个对象,它的用途是来包含可以由特定类型的实例共享的属性和...
从零开始实现lmax-Disruptor队列(二)多消费者、消费者组间消费依赖原理解析
在v1版本的MyDisruptor实现单生产者、单消费者功能后。按照计划,v2版本的MyDisruptor需要支持多消费者和允许设置消费者组间的依赖关系。 由于这篇文章是一系列博客的一部分,我们需要了...
【Unity Shader学习笔记】Unity透明效果-透明度测试与透明度混合
1、基本概念 1.1、基本概念 在实时渲染中实现透明效果,需要在渲染模型时控制它的透明通道(Alpha Channel)。 透明度为1代表该像素是完全不透明的;0代表完全透明。 Unity中可以使用两...
SpringMVC(1)
一:SpringMVC简介:它时一种设计模式或者称为设计规范,M既Model层,模型层,主要对应Javaweb时的Dao和service,V即View层,视图层,主要对应Javaweb时的jsp/HT...
mybatis-plus笔记
新加代码生成器新版,基本配置完毕,其他细节自行修改 需要的基础:把我的MyBatis、Spring、SpringMVC就可以学习这个了! 为什么要学习它呢?MyBatisPlus可以节省我们大量工作时...
程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路
有情怀,有干货,微信搜索【 三太子敖丙】关注这个不一样的程序员。 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点、资料以及我的系列文章。...
Seata源码分析——SessionManager
事务管理器 SessionManager SessionLifecycleListener AbstractSessionManager 事务存储管理器 RedisTransactionStoreMa...
谈谈设计对软件工程目标实现的影响
本文从个人经验出发,谈谈设计对软件工程目标实现的影响。 一、软件工程概念 首先明确下"软件工程的概念"。 看下原文(注意,原文也有一些问题,但总体没有大毛病): 既然有分歧,我只能选择自己认可的部分,...
抽象 类乐器 期末代码
```java abstract class YueQi{ //表示发出声音的功能 public abstract void sound(); } //子类钢琴 class Piano extends...
优惠券的工厂与策略模式实现方案
实际开发中最常用的模式基本上是[策略]和[工厂]。[En]The most frequently used modes in real development are basically [Strat...
从零玩转第三方登录之QQ登录
从零玩转第三方登录之QQ登录 前言 在实际连接之前,让我们谈谈后台方案设计。由于它连接到第三方登录,因此保存用户信息是不可避免的。首先需要明确用户成功登录第三方后,[En]Before the act...
搭建简单JavaWeb项目
参考:(17条消息) 手把手搭建一个完整的javaweb项目(适合新手)_心歌技术的博客-CSDN博客_javaweb项目完整案例 补充项目结构的细节,进行了一点修改,修改为学生信息管理系统 以下是搭...
Java面试必问:ThreadLocal终极篇 淦!
开场白 由于最近天气炎热,张三心情不好,所以他决定出去面试,与面试官聊天,解决问题。结果,在简历递交后,面试就安排好了。[En]Zhang San is not in a good mood beca...