字符串常量池在老年代还是年轻代

今天看JVM内存结构的时候看到intern()方法对YoungGC的影响。引发我这个疑问。
我在网上查了很多,每一个都只是说明了字符串常量池(StringTable)在堆空间中,没有一个说具体在哪。(此处说的都是JDK1.7之后的StringTable)
无非三种情况

  • 在年轻代

  • 在老年代

  • 在年轻代和老年代都有

我做了几个简单的测试发现,YoungGC不会减小字符串常量池的大小,所以年轻代的垃圾清理不会清理字符串常量池的对象。但是字符串对象创建之后又会在新生代创建。FullGC和CMSGC时,字符串常量池都会减小。
到这里我就迷糊了,这个字符串常量池到底怎么在堆内存中?
请看到的dl解答我的问题 QWQ

看下这篇博客,也许你就懂了,链接:年轻代和老年代都有哪些垃圾回收器?