常量池的位置

  • Java 6 及之前, 常量池放在永久区
  • Java 7 及以后, 字符串常量池放到了堆进行管理.(也就是说可以被垃圾收集器回收)

Java 7 及以后, 可以通过虚拟机参数-XX:StringTableSize来指定常量池的大小.

参考资料