强引用:普通引用

软引用:如果内存不足才回收

弱引用:gc 看到就回收

虚引用:完全跟没有引用一样,不造成任何影响

软引用和弱引用区别:

对于强引用,我们平时在编写代码时经常会用到。而对于其他三种类型的引用,使用得最多的就是软引用和弱引用,这2种既有相似之处又有区别。它们都是用来描述非必需对象的,但是被软引用关联的对象只有在内存不足时才会被回收,而被弱引用关联的对象在JVM进行垃圾回收时总会被回收。针对上面的特性,软引用适合用来进行缓存,当内存不够时能让JVM回收内存,弱引用能用来在回调函数中防止内存泄露。因为回调函数往往是匿名内部类,隐式保存有对外部类的引用,所以如果回调函数是在另一个线程里面被回调,而这时如果需要回收外部类,那么就会内存泄露,因为匿名内部类保存有对外部类的强引用。

java 的四大引用相关推荐

  1. @mapperscan mapper还是无法引用_高能来了!Java的四大引用

    文章很长文末有福利 Java中的四大引用 1. 强引用(StrongReference) 我们平常使用new操作符来创建的对象就是强引用对象,只要有一个引用存在,垃圾回收器永远不可能回收具有强引用的对 ...

  2. Java的四大引用强、软、弱、虚

    一.什么是引用 首先要明白什么是一个引用呢?Object o = new Object()这就是一个引用了,一个变量指向new出来的对象,这个变量就叫一个引用,引用这个东西,在java里面分4种,普通 ...

  3. 一文带你搞懂Java的四大引用:强引用,软引用,弱引用以及虚引用

    Java中的引用 强引用Reference Reference类以及继承派生的类. 当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收,死都不收. 这样定义的默 ...

  4. Java 的四大引用(强、软、弱、虚)

    在 jdk1.2 以后,Java 对于引用的概念进行了扩充,将引用分为强引用(Strong Reference).软引用(Soft Reference).弱引用(Weak Reference).虚引用 ...

  5. java对象四大引用案例

    目录 目录 目录 0.前言: 1.强引用: 2.软引用: 3.弱引用: 4.虚引用: 5.面试题扩展: 6.线程池中的ThreadLocal: 0.前言: 1.强引用:当对象被一个或一个以上的引用类型 ...

  6. 简单直白教你理解Java中四大引用强引用,软引用,弱引用,虚引用

    我属于自学型的,所以知识不够系统,只能是一边儿工作一边查漏补缺,在此要对那些写技术文章的人由衷的说句谢谢,谢谢各位大神们的分享 ONE,强引用(StrongReference) 概念介绍: 在此说明一 ...

  7. JVM笔记(二)对象的生死与java的四大引用

    目录 一.对象的生死 1.1 引用计数法 1.2 可达性分析法 可作为GC Roots的对象: 1.3 引用 整体架构 强引用 软引用 软引用用途 弱引用 WeakHashMap 虚引用 1.4 对象 ...

  8. 什么是java四大引用?

    相信现在有很多人正在学习java编程语言,其中java的四大引用相信很多同学都不是非常熟悉,那么什么是java四大引用?来看看下面的详细介绍. 什么是java四大引用?是JDK1.2版本开始引入,把对 ...

  9. Java中的四大引用

    Java对引用的定义 无论是通用引用计数算法判断对象的引用数据,还是通过可达性分析算法判断对象的引用链是否可达,判定对象是否存活都与"引用"有关.在JDK1.2之前,Java中的引 ...

最新文章

  1. 和12岁小同志搞创客开发:如何选择合适的控制器?
  2. LeetCode:937. Reorder Log Files
  3. C++ close()关闭文件方法详解
  4. Asp.net page 绑定及访问数据
  5. BCGSoft Demo示例展示:控件示例集合(1/2)
  6. VS2017C++单元测试
  7. java maven
  8. linux修改last权限,Linux常用命令2/3(有关用户、权限管理的命令)--Unix/Linux操作系统04...
  9. 据说,很多搞科研的硕博生,都容易产生以下20个错觉,看看你中了几枪?
  10. ae效果英文版翻译对照表_AE CS6 最全特效中英翻译
  11. PS如何删除智能图层为可编辑状态
  12. brandon公司_开发人员聚焦:布兰登·里德(Brandon Reid)
  13. C语言求解一元二次方程代码
  14. 【网页制作课作业】用HTML+CSS制作一个简单的学校网页(9页)
  15. 2020最后一天,一起回顾这不平凡的一年...
  16. 玩转【斗鱼直播APP】系列之实现无限轮播
  17. 使用google.zxing制作条形码和二维码
  18. STM32 printf 输出到usart1
  19. vue中路由跳转怎样刷新页面保证页面更新
  20. 起底Filecoin:易崩盘、估值高、政策风险大

热门文章

  1. 【原创】i.MXRT J-Flash烧写算法使能eFuse熔丝位写入
  2. zblog php 标题优化,zblog怎么修改网站文章页的SEO标题
  3. Java行业已经饱和了?胡扯,怎么可能,只是不需要这类型的程序员了
  4. 怎么开启搜狗高速浏览器的手动升级
  5. 虚拟局域网 VLAN
  6. 交叉编译环境2021-11-09
  7. P2构型并联混合动力汽车Cruise整车仿真模型 基于Cruise平台搭建整车部件等动力学模型,基于MATLAB/Simulink平台完成整车控制策略的建模
  8. ScrollView嵌套RecyclerView导致在三星s8曲面屏显示不全问题
  9. Python核心知识学习思维导图分享
  10. 动力气象期末复习笔记