Java中引用相关的类

说明
ReferenceQueue 引用队列 与某个引用类绑定,当引用死亡后会进入这个队列
对象标记为垃圾(并不代表回收了)后或虚引用的对象被回收后,会加入到引用队列
HardReference 强引用 任何Object obj = new Object()建立起来的引用都是强引用
在obj指向另一个对象或者null之前,该对象不会被GC
WeakReference 弱引用 不会阻止GC回收弱引用存在的对象(仅存在弱引用)
SoftReference 软引用 不会阻止对象的GC,但回收会延迟到接近OOM时才执行
PhantomReference 虚引用 无法通过虚引用获取到引用的对象,被引用对象被回收后该引用会进入引用队列

WeakHashMap

WeakHashMap是弱键实现的哈希表。目的就是:实现对键值对的动态回收。当弱键不再被使用到时,GC会回收它,对应的键值对删除。

WeakHashMap使用场景
  • 分代缓存:tomcat中的使用示例参考

Java的引用(强软弱虚)的更多相关文章

  1. java的4种引用 强软弱虚

    <img src="https://pic4.zhimg.com/d643d9ab5c933ac475cfa23063bed137_b.png" data-r ...

  2. java的四种引用:强软弱虚

    简介 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于(reachable)可达状态,程序才能使用它. 从JDK 1.2版本开始,对象的引 ...

  3. JAVA不可不知的强软弱虚四种引用

    一个变量指向new对象,就是引用,在java中有四种引用,分别是强软弱虚,常见的Object o = new Object(),就是强引用,垃圾回收的时候,强引用不会被回收.   公用类: publi ...

  4. java中的引用类型:强软弱虚

    java中的引用类型共4种:强软弱虚,具体每种类型的特点和应用场景.记录下.本文是看了马士兵老师的视频后记录整理的.加深印象. 基本概念 1. 强引用 强引用是使用最普遍的引用.如果一个对象具有强引用 ...

  5. ThreadLocal以及强软弱虚引用

    1.ThreadLocal ThreadLocal即线程本地,可以实现每个线程存入取出TreadLocal值互不影响.因为TheadLocal底层是用了一个Map结构存放数据,而这个Map是从当前这个 ...

  6. java强软弱虚引用详解(转载)

    转载自:http://zhangjunhd.blog.51cto.com/113473/53092/ ava:对象的强.软.弱和虚引用 2007-12-01 17:20:20 标签:Java 软引用  ...

  7. 5.9 j(java学习笔记)强软弱虚引用及WeakHashMap、IdentityHashMap、EnumMap

    一.引用分类 强:运行垃圾回收机制后也不回收,程序出现内存溢出也不回收. 软:在垃圾回收机制运行时判断内存是否已满,如果内存已满则回收,内存充足则不回收. 弱:垃圾回收机制运行后不论内存是否充足都会立 ...

  8. Java 对象引用方式 —— 强引用、软引用、弱引用和虚引用

    Java中负责内存回收的是JVM.通过JVM回收内存,我们不需要像使用C语音开发那样操心内存的使用,但是正因为不用操心内存的时候,也会导致在内存回收方面存在不够灵活的问题.为了解决内存操作不灵活的问题 ...

  9. Java:对象的强、软、弱、虚引用

    转自: http://zhangjunhd.blog.51cto.com/113473/53092 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无 ...

  10. Java:对象的强、软、弱和虚引用

    1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK ...

随机推荐

  1. 【论文笔记】FCN全卷积网络

    全卷积网络(FCN)是用于图片语义分割的一种卷积神经网络(CNN),由Jonathan Long,Evan Shelhamer 和Trevor Darrell提出,由此开启了深度学习在语义分割中的应用 ...

  2. 体验AI乐趣:基于AI Gallery的二分类猫狗图片分类小数据集自动学习

    摘要:直接使用AI Gallery里面现有的数据集进行自动学习训练,很简单和方便,节约时间,不用自己去训练了,AI Gallery 里面有很多类似的有趣数据集,也非常好玩,大家一起试试吧. 本文分享自 ...

  3. 安卓逆向 IDA 动态调试 案例1

    adb forward tcp:23946 tcp:23946 adb devices adb shell su cd /data/local/tmp ./android_server adb she ...

  4. [SWPUCTF 2021 新生赛]jicao

    CTF web安全 阅读代码可知当传入一个post型的参数id与wllmNB相等并且传入一个get型的参数json: 但是这里有一个函数json_decode,上网搜索可知json_decode这个函 ...

  5. cdq 分治学习笔记

    CDQ 分治是一种很玄学的东西. Part 0 引子 相信大家都会归并排序,又都知道归并排序求逆序对怎么求的 如果连归并求逆序对都不会那你为什么要学 cdq 分治阿喂 void merge_sort( ...

  6. CF837G - Functions On The Segments

    我们考虑 \(\sum_{i=l}^r{f_i(x)}\) 是个什么东西.首先这个奇怪的东西很好离线做,所以尽管题目要求强制在线,我们还是离线下来试试. 我们发现,我们可以 \(x\) 坐标从 \(1 ...

  7. centos7 开机自启动脚本

    两种实现方式 方法1:(rc.local) 1.因为在centos中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local ...

  8. loj2511

    引言 思维题. 这个做法跑得飞快,还不用 dp,也不是爆搜! 复杂度(可能)为 \(O(s^2t)\) 或 \(O(s^2)\),实际效率也是飞快. 不过这题我直接提交答案了. 思路 考虑 \(A=m ...

  9. K8s存储之Volume、PV、PVC、SC

    Volume Volume(存储卷)是Pod中能够被多个容器访问的共享目录.Kubernetes的Volume概念.用途和目的与Docker的Volume比较类似,但两者不能等价.首先,Kuberne ...

  10. css小技巧【让背景最少是屏幕高度】【让三个字和四个字左右对齐】

    怎么让背景最少是屏幕高度 min-height: 100vh; 怎么让三个字和四个字左右对齐 text-align-last: justify;