zoukankan      html  css  js  c++  java
  • 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类实现。

  • 相关阅读:
    子程序定义-3
    子程序定义-2
    子程序定义-1
    MQ报 AMQ9259
    观nginx与lvs负载均衡的较量
    绑定变量值长度不一致,mismatch问题
    perl-printf 函数
    perl 运算符
    强制让SQL走谓词推入
    PGA概念
  • 原文地址:https://www.cnblogs.com/naray/p/8665655.html
Copyright © 2011-2022 走看看