Java虚拟机运行时常量池-用HotSpot Debugger看
javac -encoding utf-8 com/xxx/Main.java
cd ..
cd ..
java com.xxx.Main
(base) PS > jps -l
29024 com.xxx.Main
(base) PS > jhsdb hsdb --pid 29024
运行时常量池Runtime Constant Pool
方法区

hello world代码
package com.xxx;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.printf("Hello and welcome!");
for (int i = 1; i <= 5; i++) {
System.out.println("i = " + i);
System.out.println("程序已暂停,按下回车键继续...");
new Scanner(System.in).nextLine();
}
}
}
JVM常量
JVM_CONSTANT_Utf8
最基础的常量。它存储的是真正的字符串文本。
内容:你的类名Main、方法名、字段名,以及你代码里写死的字符串字面量(比如 "Hello World")。
JVM_CONSTANT_Methodref (方法的“地址簿”)
代表一个类中的具体方法。
结构:它包含两个索引:一个指向所属的 Class,另一个指向方法的名称和类型(NameAndType)。
我的jdk
graalvm-jdk-24.0.1+9.1

浙公网安备 33010602011771号