将 null 分配给 String 对象会发生什么?

时间:2021-01-26 19:12:54

标签: java string garbage-collection

我试图了解在为字符串分配 null 时会发生什么。 所以,我有一个 String str = new String("abc"); 它在内存中使用了一些空间。 当 str 被分配 null,即 str = null 时,用于创建 "abc" 的内存会发生什么。它仍然使用内存空间吗?

1 个答案:

答案 0 :(得分:1)

Java 是垃圾收集的。为字符串分配的内存将在垃圾收集器确定的特征时间点被释放。有关详细信息,请参阅 Java Garbage Collection Basics

更新:正如评论者指出的那样string interning 可能阻止字符串被垃圾收集。详细信息取决于许多因素,例如参考范围、JVM 和 Java 版本。

相关问题