强引用,软引用,弱引用,虚引用
强引用指的是代码中普遍存在的Object obj=new Object()这类的引用,只要强引用存在,垃圾收集器就不会回收被引用的对象,

软引用,有些有用但是并非必须的对象,在系统将要发生内存溢出之前,会把这些对象列进回收范围内进行二次回收,如果这次回收还是没有足够的内存将会抛出内存溢出异常,java中的softRefence表示软引用
public class Main {

public static void main(String[] args) {//创建一个对象,new出来的对象都是分配在java堆中的,这种形式表示强引用Sample sample = new Sample();   //sample这个引用就是强引用//softRef也是强引用对SoftReference来说,但是内部有一个软引用指向sampleSoftReference<Sample> softRef = new SoftReference<Sample>(sample);//private T referent; 这个才是软引用, 只被jvm使用sample = null;//通过软引用得到对象并用强引用指向它sample = softRef.get();
}

}
class Sample {
}


弱引用,用来描述非必须的对象,被弱引用关联的对象只能生存到下一次垃圾回收之前,无论当前内存是否足够都会回收掉被弱引用关联的对象, java中的weakRefence表示弱引用,弱引用的表示形式类似于软引用
虚引用的目的是在这个对象被垃圾回收器回收的时候收到一个系统通知,被虚引用关联的对象和其生存时间没有关系,PhantomReference表示虚引用(https://blog.csdn.net/rodbate/article/details/72857447)

什么是强引用,软引用,弱引用,虚引用相关推荐

  1. java中四种引用类型(对象的强、软、弱和虚引用)

    2019独角兽企业重金招聘Python工程师标准>>> 对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有 ...

  2. 对象的强、软、弱和虚引用

    本文介绍对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有 ...

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

    见:http://zhangjunhd.blog.51cto.com/113473/53092 maven/Java/web/bootstrap/dataTable/app开发QQ群:56686262 ...

  4. 软引用和弱引用的区别_强、软、弱、虚引用的区别和使用

    原文阅读: 强.软.弱.虚引用的区别和使用​mp.weixin.qq.com Java提供了四种级别的应用类型:强引用.软引用.弱引用及虚引用.那么这四种引用类型有什么区别呢? 首先我们通过一张图来看 ...

  5. java-基础-强、软、弱、虚引用

    Java的四种引用,强弱软虚,用到的场景. JDK1.2之前只有强引用,其他几种引用都是在JDK1.2之后引入的. 强引用(Strong Reference) 最常用的引用类型,如Object obj ...

  6. jvm系列 (四) ---强、软、弱、虚引用

    java引用 目录 jvm系列(一):jvm内存区域与溢出 jvm系列(二):垃圾收集器与内存分配策略 jvm系列(三):锁的优化 我的博客目录 为什么将引用分为不同的强度 因为我们需要实现这样一种情 ...

  7. JVM 学习(2)—简单理解Java 四大引用(强、软、弱、虚)

    一.Java 引用概述 Java 中出现四种引用是为了更加灵活地管理对象的生命周期,以便在不同场景下灵活地处理对象的回收问题.不同类型的引用在垃圾回收时的处理方式不同,可以用来实现不同的垃圾回收策略. ...

  8. Java对象引用四个级别(强、软、弱、虚)

    转载自 Java对象引用四个级别(强.软.弱.虚) 最近,高级Java技术栈微信群中,有一些猿友在讨论JVM中对象的周期问题,有谈到引用的级别,现在为大家做个总结吧,虽然大多数公司并没有意识或者用到这 ...

  9. 【Java】Java对象引用四个级别(强、软、弱、虚)

    文章目录 1.概述 强引用(StrongReference) 软引用(SoftReference) 弱引用(WeakReference) 虚引用(PhantomReference) 2. 扩展阅读 1 ...

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

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

最新文章

  1. [Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD
  2. 【笔记】Error while loading PyV8 binary: exit code 1解决方法
  3. es6 Map、Set和Array.from()
  4. Django从理论到实战(part14)--url反转
  5. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
  6. JCG新年献礼,JHR-N825R给力上市
  7. matlab中关于程序运行的快捷键
  8. 一个.NET通用JSON解析/构建类的实现(c#)
  9. GoLang爬取花瓣网美女图片
  10. picasa csdn_使用Picasa网络相册开发PHP应用程序
  11. 静态函数与非静态函数的区别
  12. 一文带你搞定svg-icon的使用
  13. 微信公众平台开发者模式(1)JAVA版接入
  14. 线段树(详细注释—pushdown写法)
  15. POJ - 2008 Moo University - Team Tryouts
  16. c语言设计二极管图形,二极管的电路符号及图片识别
  17. matplotlib之pyplot模块之柱状图(bar():百分比堆积柱状图)
  18. 安卓 14 可自定义锁屏时钟尺寸、颜色和透明度
  19. SBAS 电离层修正中的双线性插值方法
  20. 【Windows使用技巧】清除剪切板内容

热门文章

  1. 步进电机c语言源代码 stm32,stm32 42步进电机基本旋转实现内含源代码
  2. 微型计算机转移指令,川大《微机原理与应用(1)1351》14秋在线作业1答案
  3. 【电信学】【2015.05】5G通信中降低峰均比的分析
  4. 五、PyQt5实现Python界面设计_QPushButton(命令按钮)
  5. 高一计算机算法教案,高一信息技术第六章“第一节程序设计的基本方法”教案设计...
  6. Regeorg 从python2改造为python3-从实战中学习socks5协议
  7. [RK3288][Android6.0] 调试笔记 --- touch无法获取坐标点
  8. 试题 算法训练 一元三次方程求解---蓝桥杯
  9. Ubuntu16.04 安装WPS(亲测)
  10. vb外部调用autocad_利用VB与AutoCAD链接进行CAD二次开发