在Java中,当一个对象没有实时引用时,它有资格进行垃圾回收.现在在字符串的情况下,情况并非如此,因为字符串将进入字符串池,JVM将使对象保持活动状态以便重用.这意味着一旦创建的字符串"永远不会"被垃圾收集?
有没有办法在我们自己的程序中访问String常量池的内容?
假设我有一些基本代码可以做到这一点:
String str1 = "foo";
String str2 = "bar";
Run Code Online (Sandbox Code Playgroud)
现在我们的String常量池中有两个字符串浮动.有没有办法访问池并打印出上述值或获取池中当前包含的当前元素总数?
即
StringConstantPool pool = new StringConstantPool();
System.out.println(pool.getSize()); // etc
Run Code Online (Sandbox Code Playgroud)