1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update 类加载过程.md

您好,此处final关键字好像拼写错误
This commit is contained in:
vcjmhg 2021-04-14 11:57:43 +08:00 committed by GitHub
parent c487f8e830
commit 3ec57ecb3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,7 +52,7 @@ Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚
**准备阶段是正式为类变量分配内存并设置类变量初始值的阶段**,这些内存都将在方法区中分配。对于该阶段有以下几点需要注意: **准备阶段是正式为类变量分配内存并设置类变量初始值的阶段**,这些内存都将在方法区中分配。对于该阶段有以下几点需要注意:
1. 这时候进行内存分配的仅包括类变量static而不包括实例变量实例变量会在对象实例化时随着对象一块分配在 Java 堆中。 1. 这时候进行内存分配的仅包括类变量static而不包括实例变量实例变量会在对象实例化时随着对象一块分配在 Java 堆中。
2. 这里所设置的初始值"通常情况"下是数据类型默认的零值如0、0L、null、false等比如我们定义了`public static int value=111` ,那么 value 变量在准备阶段的初始值就是 0 而不是111初始化阶段才会赋值。特殊情况比如给 value 变量加上了 fianl 关键字`public static final int value=111` ,那么准备阶段 value 的值就被赋值为 111。 2. 这里所设置的初始值"通常情况"下是数据类型默认的零值如0、0L、null、false等比如我们定义了`public static int value=111` ,那么 value 变量在准备阶段的初始值就是 0 而不是111初始化阶段才会赋值。特殊情况比如给 value 变量加上了 final 关键字`public static final int value=111` ,那么准备阶段 value 的值就被赋值为 111。
**基本数据类型的零值:** **基本数据类型的零值:**