`

Java的垃圾收集机制

阅读更多

1、在Java中,垃圾收集就是用来描述自动内存管理的术语。内存是用来创建栈、堆、Java常量池以及方法的区域。堆是Java对象所在的内存部分,所以它是垃圾收集过程所涉及的唯一一块内存区域。

 

2、垃圾收集的核心任务(目的):查找并删除Java程序运行时不可到达的任何对象,或者说用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。

 

3、垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身。

 

4、何时运行垃圾收集器? 一切由JVM决定,Java程序可以(比如使用System.gc() 或Runtime.getRuntime().gc())请求JVM运行垃圾收集器,但无法保证JVM能及时响应程序的请求。

 

5、什么样的对象符合垃圾收集的条件? 当没有线程能够访问对象时(针对非String对象)。通俗点来说,就是当一个对象不被任何处于活线程中的引用变量引用时,该对象即符合删除的条件。

 

6、如何显式地是对象符合垃圾收集的条件(假设对象只被一个引用变量引用)?

 

    1)空引用,即将对象的引用变量设置为null。

    2)将对象的引用指向其他对象。

    3)隔离引用(原来如下图所示)。
   
    

7、垃圾收集前执行清理-finalize()方法

 

    1)不过不要指望垃圾收集器删除一个对象(看JVM的心情。。。)。因此,放入finalize()的任何代码都无法保证会运行。

    2)对于任意给定对象,finalize()方法(最多)只会被垃圾收集器执行一次。

    3)一般情况下,不建议重写finalize()方法(并在其中实现任何功能逻辑)。

 

分享到:
评论

相关推荐

    24.java垃圾收集机制.zip

    24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集机制.zip24.java垃圾收集...

    java垃圾收集机制

    ### Java垃圾收集机制详解 #### 一、引言 在现代软件开发中,Java作为一种广泛使用的编程语言,其自动管理内存的功能极大地简化了程序设计工作。传统的编程语言如C/C++要求开发者手动管理内存,这不仅增加了编程的...

    Java垃圾收集机制

    Java垃圾收集机制

    【深入Java虚拟机(8)】Java垃圾收集机制编程开发技

    Java垃圾收集机制是Java开发中的核心概念,它关乎程序的性能和稳定性。深入理解这一机制对于优化应用程序至关重要。本文将详细解析Java虚拟机(JVM)中的垃圾收集工作原理、不同类型的垃圾收集器以及如何通过编程...

    java垃圾收集机制.pdf

    java垃圾收集机制.pdf

Global site tag (gtag.js) - Google Analytics