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

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

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

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


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

  • 相关阅读:
    bzoj 4548 小奇的糖果
    CF1151F Sonya and Informatics
    loj 2392「JOISC 2017 Day 1」烟花棒
    loj 2336「JOI 2017 Final」绳
    luogu P3620 [APIO/CTSC 2007]数据备份
    bzoj 4771 七彩树
    CF765F Souvenirs
    bzoj 3145 [Feyat cup 1.5]Str
    luogu P4482 [BJWC2018]Border 的四种求法
    第五章例题
  • 原文地址:https://www.cnblogs.com/forstudy/p/2673659.html
Copyright © 2011-2022 走看看