我试图理解当一个字符串被赋值为null时,它会发生什么。所以,我有一个String str = new String("abc");
,它使用了内存中的一些空间。当str
被分配null
,即str = null
时,用来创建"abc"
的内存发生了什么变化。它是否仍在使用内存中的空间?
发布于 2021-01-26 19:17:30
Java是垃圾回收的。分配给字符串的内存将在垃圾收集器确定的功能时间点被释放。详情请参见Java Garbage Collection Basics。
更新:正如评论者指出的那样,string interning可能会阻止字符串被垃圾回收。细节取决于很多东西,比如引用的范围、JVM和Java版本。
https://stackoverflow.com/questions/65907775
复制相似问题