【问题标题】:what is garbage collector in java and how can we use it [duplicate]什么是java中的垃圾收集器以及我们如何使用它[重复]
【发布时间】:2010-07-26 09:55:53
【问题描述】:

可能重复:
What is the garbage collector in Java?

什么是java中的垃圾收集器以及我们如何使用它

【问题讨论】:

标签: java


【解决方案1】:

垃圾收集器为您管理内存。它在您的代码运行时在后台线程上运行。您通常不会直接与它交互。您只需在 JVM 中运行即可“使用”它。

【讨论】:

  • 是的。只是不要以任何方式担心GC。它被设计为独立工作,当你放手时它会做得更好。
【解决方案2】:

whitepaper 包含您需要的有关 Java HotSpot VM 中的垃圾收集的所有信息。如果您遇到任何不熟悉的概念,只需在 Wikipedia 中搜索或继续此主题。

【讨论】:

    【解决方案3】:

    您不能“使用”垃圾收集。它是语言及其对象模型的基础部分。

    为了澄清这一点,让我们只考虑类类型(如StringInteger),而忽略基本类型(如intchar)。 (数组类型也被认为是类类型。)假设T就是这样一个类类型。

    在Java 中,与其他语言不同,您永远不能拥有类类型的变量。每当您声明变量T x; 时,x 实际上就是一种“跟踪引用”。该引用可以是null,也可以引用T 类型的现有对象。但对象本身必须始终显式、动态地创建

    T x = new T();
    

    那个对象,也就是x 所指的那个对象,存在于你的计算机的某个神奇的、被管理的部分中,你不能直接操作它。不过,您可以创建更多参考:

    T y = x;  // another reference to the same object
    

    现在一个自然的问题出现了:当没有更多的引用时,对象会发生什么?答案是垃圾收集:当没有对对象的进一步引用时,它就有资格在以后的非确定性时间点被清除。这是唯一可以恢复与对象关联的资源的方法。

    如果没有垃圾回收,您基本上不可能在 Java 中以任何定义明确、稳健的方式拥有任何对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 2015-08-17
      • 2013-09-16
      • 2010-12-15
      相关资源
      最近更新 更多