• 垃圾回收


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

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

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


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

  • 相关阅读:
    Python环境搭建-anaconda
    UITableView的基本使用方法
    模拟网易新闻上方滚动条
    iOS之导航栏基本设置
    UITextField 方法和代理的使用
    UITextField详解
    init方法的重写与自定义
    OC中协议的理解protocal
    IOS中检测键盘出现和消失的消息
    怎么重装系统(一)
  • 原文地址:https://www.cnblogs.com/forstudy/p/2673659.html
Copyright © 2020-2023  润新知