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

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

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

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


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

  • 相关阅读:
    codeforces 980A Links and Pearls
    zoj 3640 Help Me Escape
    sgu 495 Kids and Prizes
    poj 3071 Football
    hdu 3853 LOOPS
    hdu 4035 Maze
    hdu 4405 Aeroplane chess
    poj 2096 Collecting Bugs
    scu 4444 Travel
    zoj 3870 Team Formation
  • 原文地址:https://www.cnblogs.com/forstudy/p/2673659.html
Copyright © 2011-2022 走看看