【问题标题】:Deleting a string in Java在 Java 中删除字符串
【发布时间】:2014-03-13 23:46:33
【问题描述】:

我了解字符串(至少在 Java 中)是不可变的。我不想清空字符串的内容。

如果我这样做了,我会使用这个:output.setText( outputString );

我的问题是:如果您想通过放弃存储字符串的位来最小化程序所需的空间量,有没有办法做到这一点?

【问题讨论】:

  • 垃圾收集器将为您收集无法访问的对象。你不必做任何特别的事情。
  • 这就是 gc 的美妙之处,你不需要做任何事情

标签: java string


【解决方案1】:

在 Java 中,垃圾收集由 JVM 完成。所以你的问题的答案是否定的。

您最多可以通过确保在任何地方都没有引用该对象来使该对象符合垃圾回收的条件。一种方法是将任何变量引用设置为 null,即引用有问题的对象并调用System.gc()

String outputString ="Some Value";
outputString =null

堆内存中的对象"Some Value" 没有被任何地方引用,并且变为符合垃圾回收条件。

System.gc() 提示 JVM 进行垃圾收集。无法保证对象将从堆内存中释放。

【讨论】:

    【解决方案2】:

    Java 中有一个自动垃圾收集器。

    在 Java 中,由于开发人员不会显式删除 程序代码,垃圾收集器发现不必要的(垃圾) 对象并删除它们。

    http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2011-08-07
      • 2017-05-21
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多