• Java强引用、软引用、弱引用、虚引用使用


    概述

      在Java 1.2版本后,将引用概念进行扩充,分别为:强引用、软引用、弱引用、虚引用,引用强度由强到弱。

    一、强引用

      在程序中最常用的引用方式,如:Object obj = new Object()这种引用关联,强引用只要引用关系存在,GC在回收时就不会回收引用的对象。

    二、软引用

      软引用是描述一些对象有用,但是,是非必须的对象。软引用引用的对象,在系统内存溢出前,GC进行第二次回收,当回收内存不足够使用,才会抛出内存溢出异常。

      在Java 1.2版本后,软引用通过SoftReference类实现。

    三、弱引用

      弱引用比软引用强度更弱一点,描述一些非必须的对象,弱引用对象的生命周期在下一次的GC为止。弱引用对象无论无论系统内存是否充足,在GC时都会被回收。

      在Java 1.2版本后,弱引用通过WeakReference类实现。

    四、虚引用

      虚引用是引用强度最弱的,虚引用的对象对对象的生命周期没有任何影响,并且也无法通过虚引用获取对象。虚引用存在的唯一目的就是为了在GC回收前对象能收到系统回收的通知。

      在Java 1.2版本后,虚引用通过PhantomReference类实现。

  • 相关阅读:
    oracle 复制表结构 复制表数据 sql 语句
    Linux rsync实现断点续传
    qt实现一个简单的计算器
    python脚本0b文件处理
    同步和互斥
    python中的randint,引入模块
    python中常见的三种句型if,while,for
    python中的变量,运算符
    python安装与使用
    常见dos命令总结
  • 原文地址:https://www.cnblogs.com/naray/p/8665655.html
Copyright © 2020-2023  润新知