java - Java GC 是否会释放数组的 null 元素?

标签 java memory-management garbage-collection

我想“删除”数组的一些元素,当我将它们设置为 null 时,这些元素在我尝试打印它时没有出现,它们是否“被垃圾收集器删除或 println 方法只是忽略”空值?例如:

this.E = new String[3];
E[0]="blue";
E[1]="red";
E[1]="gray";
this.E[0] = null;
for(int i = 0 ; i < E.length ; i++)
    System.out.println(E[i]);

该代码仅输出红色和灰色,因此蓝色被释放了内存,或者空值被忽略,因为它不代表任何东西?

最佳答案

该值保留在内存中,GC 需要释放整个数组来执行您想要的操作

关于java - Java GC 是否会释放数组的 null 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761956/

相关文章:

Javascript - 共享指针范式

java - 如何在 Java 中编写 Ruby-regex 模式(包括递归命名分组)?

java - 在设置属性占位符之前使用 SystemPropertyInitializer 设置系统属性

java - 创建具有长 :Java 的日期对象时未解决编译问题

c - 为什么释放内存会导致段错误?

c - 哪些非 NULL 内存地址可以自由用作 C 中的错误值?

Java - 打印分割字符串的几个不同部分

memory-management - 为什么要在网络应用程序中进行垃圾收集?

java - 计算对象而不产生太多垃圾

javascript - 有没有办法控制 Chrome GC?