我知道当我们创建字符串文字时,它会进入 permgenspace。我的问题是它是否会在 jvm 的整个生命周期内一直存在,即使该字符串文字是方法的本地值。例如,我有以下代码片段:-
private static void testString1(){
String str1="tetingLiteral";
}
private static void testString2(){
String str2="tetingLiteral";
}
现在从我调用的主要方法
testString1();
testString12();
str1 和 str2 将引用相同的内存位置。
我的理解是它们将引用相同的内存位置(即使在方法内部创建了字符串文字,它也会在 jvm 的整个生命周期内保留在那里)。但仍然想确认它,因为我无法以编程方式检查它,因为无法打印字符串内存位置