From cbc10a618ce6775c6a193f943ad9b17f10a3ec7e Mon Sep 17 00:00:00 2001 From: liangyi <994302767@qq.com> Date: Wed, 13 Mar 2024 11:15:17 +0800 Subject: [PATCH] typo: change Class.forname to Class.forName --- docs/java/jvm/class-loading-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/jvm/class-loading-process.md b/docs/java/jvm/class-loading-process.md index d303d864..5b10ec59 100644 --- a/docs/java/jvm/class-loading-process.md +++ b/docs/java/jvm/class-loading-process.md @@ -114,7 +114,7 @@ tag: - 当 jvm 执行 `getstatic` 指令时会初始化类。即程序访问类的静态变量(不是静态常量,常量会被加载到运行时常量池)。 - 当 jvm 执行 `putstatic` 指令时会初始化类。即程序给类的静态变量赋值。 - 当 jvm 执行 `invokestatic` 指令时会初始化类。即程序调用类的静态方法。 -2. 使用 `java.lang.reflect` 包的方法对类进行反射调用时如 `Class.forname("...")`, `newInstance()` 等等。如果类没初始化,需要触发其初始化。 +2. 使用 `java.lang.reflect` 包的方法对类进行反射调用时如 `Class.forName("...")`, `newInstance()` 等等。如果类没初始化,需要触发其初始化。 3. 初始化一个类,如果其父类还未初始化,则先触发该父类的初始化。 4. 当虚拟机启动时,用户需要定义一个要执行的主类 (包含 `main` 方法的那个类),虚拟机会先初始化这个类。 5. `MethodHandle` 和 `VarHandle` 可以看作是轻量级的反射调用机制,而要想使用这 2 个调用,