原文出处: iceAeterna
在Java应用程序运行时,Java虚拟机会保存一份内部的运行时常量池,它区别于class文件的常量池,是class文件常量池映射到虚拟机中的数据结构。 关于class文件常量池的部分可以参考之前的博文实例探索Class文件。
2.CONSTANT_Fieldref入口解析
3.CONSTANT_Methodref入口解析
4.CONSTANT_InterfaceMethodRef入口解析
5.CONSTANT_String入口解析
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package com.ice.intern;
public class InternTest {
public static void main(String args[]){
String a = new String("123");
String b = a;
String c = new String("123");;
System.out.println("before intern:");
System.out.println("a = b ? :" + (a == b));
System.out.println("a = c ? :" + (a == c));
a = a.intern();
c = c.intern();
System.out.println("after intern:");
System.out.println("a = b ? :" + (a == b));
System.out.println("a = c ? :" + (a == c));
}
} |
结果如下:
(6).其他类型(数据基本类型)入口解析
6.直接引用
7.装载约束