zoukankan      html  css  js  c++  java
  • 垃圾回收

    内存管理:
        内存分配和内存回收,都由JVM自动完成。

    可达、可恢复、不可达:
        1. 以线程为起点(单线程则为Main线程),能够访问到的对象称为可达。
        2. 当对象没有任何变量引用时,此时,对象处于可恢复状态;GC在回收该对象之前,会调用该对象finalize()方法(默认什么都不做),这个方法中,若此对象被重新引用,对象又处于可达状态;反之,则进入不可达状态,被GC回收。

    强引用:最常用的引用方式,处于可达状态时,绝不会被回收。
    软引用:SoftReference类,处于可达状态时,当内存不足,会被GC回收。
    弱引用:WeakReference类,处于可达状态时,无论内存充足与否,均会被GC回收。
    虚引用:PhantomReference类,与引用队列(ReferenceQueue)一起使用:当GC回收后,该虚引用会被加入引用队列,以此可以追踪垃圾回收状态。


    内存泄露:JVM会自动回收不可达对象,但对于程序不再会访问的可达对象,客观上造成内存泄露。

  • 相关阅读:
    Android 系统广播机制
    NBUT 1457 Sona (莫队算法)
    内存分配--静态内存、栈和堆
    Hibernate主键生成策略
    UVA 1482
    servlet开篇
    C语言的代码内存布局具体解释
    Mirantis Fuel fundations
    openstack中文文档
    C++ 之再继续
  • 原文地址:https://www.cnblogs.com/forstudy/p/2673659.html
Copyright © 2011-2022 走看看