
Java6和6之前,常量池是存放在方法区(永久代)中的。
Java7,将常量池是存放到了堆中。
Java8之后,取消了整个永久代区域,取而代之的是元空间。运行时常量池和静态常量池存放在元空间中,而字符串常量池依然存放在堆中。
Java的常量池在不同版本中经历了变化:在Java6及之前,常量池位于方法区;Java7将其移至堆内存;而从Java8开始,永久代被元空间取代,运行时常量池和静态常量池存于元空间,字符串常量池仍然保留在堆中。这一演变反映了Java内存管理的演进。

Java6和6之前,常量池是存放在方法区(永久代)中的。
Java7,将常量池是存放到了堆中。
Java8之后,取消了整个永久代区域,取而代之的是元空间。运行时常量池和静态常量池存放在元空间中,而字符串常量池依然存放在堆中。
566