原文 ``` 运行时常量池主要回收的是废弃的常量。那么,我们如何判断一个常量是废弃常量呢? 假如在常量池中存在字符串 "abc",如果当前没有任何 String 对象引用该字符串常量的话,就说明常量 "abc" 就是废弃常量,如果这时发生内存回收的话而且有必要的话,"abc" 就会被系统清理出常量池。 ``` 字符串常量池已经在堆中开辟一块空间存储了,运行时常量池里面没有字符串常量了。回收方法区更谈不上回收字符串常量池了,这里是有点小问题的。