摘要: 概述 本文仅关注类加载过程中的初始化阶段。初始化指的就是对类的静态变量进行初始化。 初始化 Java中,对类变量进行初始化有两种形式: 声明类变量是赋予初始值:public static int i = 0; 采用静态代码块进行赋值:static{ i = 0;} 在编译阶段,类中的类变量初始化语句 阅读全文
posted @ 2021-12-14 10:38 偷偷地跳槽 阅读(308) 评论(0) 推荐(0)
摘要: 概述 本文仅关注类加载过程中的连接阶段,该阶段又可分为三步:验证、准备、解析。 验证 验证阶段主要是为了保证进入到JVM的二进制信息能够符合当前虚拟机的要求且不会危害虚拟机的安全。 验证主要涉及到下面几个方面: 文件格式验证: (1)是否以魔数0xCAFEBABE开头。 (2)主、次版本号是否在当前 阅读全文
posted @ 2021-12-10 17:23 偷偷地跳槽 阅读(187) 评论(0) 推荐(0)
摘要: 概述 Java中,如果想要运行一段代码,那么就需要先将编写完的.java文件编译成.class文件,再通过加载机制将该.class文件加载到JVM内存中。这里就涉及到了类的加载,一个完整的类加载过程包括:加载、连接(验证、准备、解析)、初始化。需要注意的是,此处的加载仅仅是整个加载流程的第一步,本文 阅读全文
posted @ 2021-12-09 19:41 偷偷地跳槽 阅读(87) 评论(0) 推荐(0)