JDK 1.7之前, 运行时常量池(包含着字符串常量池)都在方法区, 具体的hotspot虚拟机实现为永久代;
jdk1.7阶段, 字符串常量池从方法区移到堆中, 运行池常量剩下的部分依旧在方法区中(剩下类信息, 属性信息, 方法信息等), 同样是hotspot中的永久代
jdk1.8, 方法区的实现从永久代变成了元空间, 字符串常量池依旧在堆中, 运行时常量池在方法区中, 这个时候方法区是通过元空间实现的;
【JVM】字符串常量池在各个版本中位置的变化
于 2022-10-08 19:57:04 首次发布