gpt4 book ai didi

java - 字符串池 - 字符串对象 - 垃圾收集

转载 作者:行者123 更新时间:2023-11-29 10:12:45 25 4
gpt4 key购买 nike

对于 Garbage Collection 在以下情况下的工作方式感到困惑。考虑以下代码。

String s1 = "abc"; // s1 points to "abc"
String s2 = s1; // s2 points to "abc"
String s3 = "abc1"; // s3 points to "abc1"

s1 = s3; // s1 points to "abc1"
s2 = null; // s2 reference is removed, "abc" is no longer referenced now

在此之后,"abc" 是否符合 GC 的条件。

同样,如果我使用 new String()

String s1 = new String("abc");

现在结果会怎样

还有什么工具,通过我们可以监控垃圾收集,因为哪些对象正在被 GC 收集

最佳答案

第一种情况

 String s1 = "abc"

您的字符串将进入由 JVM 维护的字符串池中,并且永远不会被垃圾收集。

但是在第二种情况

 String s1 = new String("abc");

通用规则适用,您的字符串对象将在其作用域结束后立即被垃圾回收。

关于java - 字符串池 - 字符串对象 - 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com