10000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent fbf8047 commit 94a0847Copy full SHA for 94a0847
docs/java/jvm/类加载过程.md
@@ -66,7 +66,7 @@ Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚
66
67
对于`<clinit>()` 方法的调用,虚拟机会自己确保其在多线程环境中的安全性。因为 `<clinit>()` 方法是带锁线程安全,所以在多线程环境下进行类初始化的话可能会引起死锁,并且这种死锁很难被发现。
68
69
-对于初始化阶段,虚拟机严格规范了有且只有5中情况下,必须对类进行初始化:
+对于初始化阶段,虚拟机严格规范了有且只有5种情况下,必须对类进行初始化:
70
71
1. 当遇到 new 、 getstatic、putstatic或invokestatic 这4条直接码指令时,比如 new 一个类,读取一个静态字段(未被 final 修饰)、或调用一个类的静态方法时。
72
2. 使用 `java.lang.reflect` 包的方法对类进行反射调用时 ,如果类没初始化,需要触发其初始化。
0 commit comments