java中的四种引用类型

一、强引用

强引用是最常见的,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,他处于可达状态,它是不会被GC回收的,即使该对象以后永远不会被用到JVM也不会回收。因此强引用是造成Java内存泄漏的主要原因之一

二、软引用

软引用需要用SoftReference类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被回收。当系统内存空间不足时它会被回收。软引用通常用在对内存敏感的程序中。缓存数据,提高数据的获取速度

三、弱引用

弱引用需要用WeakReference类来实现,它比软引用生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管JVM内存空间是否足够,总会回收该对象占用的内存。短时间缓存某些次要数据。

四、虚引用

虚引用需要PhantomReference类来实现,它不能单独使用,必须和引用队列联合使用,虚引用的主要作用是跟踪对象被垃圾回收的状态。

5 引用队列(ReferenceQueue)

效果:引用队列可以配合软引用、弱引用及幽灵引用使用,当引用的对象将要被JVM回收时,会将其加入到引用队列中。

应用:通过引用队列可以了解JVM垃圾回收情况

java object 引用类型_java中的四种引用类型相关推荐

  1. java ref 应用类型_Java中的四种引用类型比较

    1.引用的概念 引用这个概念是与JAVA虚拟机的垃圾回收有关的,不同的引用类型对应不同的垃圾回收策略或时机. 垃圾收集可能是大家感到难于理解的较难的概念之一,因为它并不能总是毫无遗漏地解决Java运行 ...

  2. Java中的几种引用类型_Java中的几种引用类型(转载)

    Java中的对象引用主要有以下几种类型: 1)强可及对象(strongly reachable): 可以通过强引用访问的对象,一般来说,我们平时写代码的方式都是使用的强引用对象,比如下边的代码段: S ...

  3. Java中的四种引用类型

    1.Java中四种引用类型:强软弱虚 面试:强引用和弱引用的区别? 1.1 强引用 普通变量赋值即为强引用,如 A a = new A(); 强引用的回收特点: 当内存空间不足,Java虚拟机宁愿抛出 ...

  4. java级别_Java中的四种访问级别

    在Java中,针对类.成员方法和属性提供了四种访问级别,分别是private.default.protected和public.接下来通过一个图将这四种控制级别由小到大依次列出,如图1所示. 图1 访 ...

  5. Java 中的四种引用类型

    一.背景 Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收.Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分别为:强引用.软引用.弱引 ...

  6. java四种修饰符_java中的四种修饰符

    在编程过程中,经常会遇到四种修饰符来控制访问权限.之前对这个知识点没有研究过,一直是一知半解,每次遇到问题都模棱两可,不能给出一个确切的答案.近几天系统的看了看,也有了自己的一点心得体会. 正文: 先 ...

  7. java的四个访问修饰符_Java中的四种访问修饰符

    Java中修饰符分为两种:访问修饰符和非访问修饰符.修饰符中,有一些修饰符可以既可以修饰类,也可以修饰方法,但是有一些修饰符只能修饰符方法. 今天这篇文章先介绍一下四种访问修饰符. 1.private ...

  8. java单例模式 参数_java中的几种单例模式

    目前比较常见的有4种(DCL为懒汉模式的线程安全版本). 单例模式的实现一般需要满足以下条件: 1.构造方法私有化,实例属性私有化. 2.必须仅在类的内部完成实例的初始化过程. 3.提供公共静态方法, ...

  9. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

最新文章

  1. 一文解读Tensor到底是个啥玩意儿?(附代码)
  2. 从一则笑话里分析项目需求的缺陷
  3. ES6-13 正则方法、修饰符yus、UTF_16编码方式
  4. java 加载shellcode_MSF-Shellcode生成和使用
  5. cobbler批量安装linux
  6. 「leetcode」 1382. 将二叉搜索树变平衡:【构造平衡二叉搜索树】详解
  7. ssh登录很慢,登录上去后速度正常问题的解决方法
  8. hp cp1025 linux 驱动,惠普HP LaserJet CP1025 打印机驱动
  9. 医院信息化建设重点工作
  10. [转载]静息态fMRI、DTI、VBM
  11. 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (5)——TCP的运输连接管理
  12. 众包专访:开源中国众包,让未来多一种可能
  13. 学术英语视听说2听力原文_大学学术英语视听说2-高迎慧
  14. pytorch:自定义损失函数total variation loss
  15. 北漂IT男返乡2年的三线楼市观察(宜昌夷陵篇)-原创
  16. 什么是TPS, 什么是QPS
  17. 小象学院python网课值得吗-小象学院python
  18. 真正免费的天气API,无需注册申请key
  19. 通过JSP页面访问Servlet
  20. 好好说话之IO_FILE利用(1):利用_IO_2_1_stdout泄露libc

热门文章

  1. QML中类似QMap的用法
  2. 【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同
  3. 2.4操作系统之死锁详解(预防、避免、检测、解除)+思维导图
  4. golang 数组 最后一个_面试必问:Golang高阶Golang协程实现原理
  5. Cpp 对象模型探索 / 带有虚继承类的构造函数的调用顺序
  6. 江苏省事业单位计算机入面分数线,2020江苏事业单位统考周日笔试,考多少分进面?...
  7. mysql1215_这15条MySQL改善经验必须收藏
  8. mysql复制文件迁移后看不到表_mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??...
  9. ad16怎么画弧线_如何告别“千人一面”?手把手教你抠细节,画不一样人脸
  10. android上河南星海科技_分数不高能上什么空乘学校?推荐下