Skip to content

Commit dbfc4ed

Browse files
committed
Update 类加载过程.md
1 parent d5da28a commit dbfc4ed

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

docs/java/jvm/类加载过程.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚
6868

6969
### 初始化
7070

71-
初始化是类加载的最后一步,也是真正执行类中定义的 Java 程序代码(字节码),初始化阶段是执行初始化方法 `<clinit> ()`方法的过程。
71+
初始化阶段是执行初始化方法 `<clinit> ()`方法的过程,是类加载的最后一步,这一步 JVM 才开始真正执行类中定义的 Java 程序代码(字节码)。
72+
73+
> 说明: `<clinit> ()`方法是编译之后自动生成的。
7274
7375
对于`<clinit> ()` 方法的调用,虚拟机会自己确保其在多线程环境中的安全性。因为 `<clinit> ()` 方法是带锁线程安全,所以在多线程环境下进行类初始化的话可能会引起死锁,并且这种死锁很难被发现。
7476

0 commit comments

Comments
 (0)