java object 引用类型_java中的四种引用类型
java中的四种引用类型
一、强引用
强引用是最常见的,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,他处于可达状态,它是不会被GC回收的,即使该对象以后永远不会被用到JVM也不会回收。因此强引用是造成Java内存泄漏的主要原因之一
二、软引用
软引用需要用SoftReference类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被回收。当系统内存空间不足时它会被回收。软引用通常用在对内存敏感的程序中。缓存数据,提高数据的获取速度
三、弱引用
弱引用需要用WeakReference类来实现,它比软引用生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管JVM内存空间是否足够,总会回收该对象占用的内存。短时间缓存某些次要数据。
四、虚引用
虚引用需要PhantomReference类来实现,它不能单独使用,必须和引用队列联合使用,虚引用的主要作用是跟踪对象被垃圾回收的状态。
5 引用队列(ReferenceQueue)
效果:引用队列可以配合软引用、弱引用及幽灵引用使用,当引用的对象将要被JVM回收时,会将其加入到引用队列中。
应用:通过引用队列可以了解JVM垃圾回收情况
java object 引用类型_java中的四种引用类型相关推荐
- java ref 应用类型_Java中的四种引用类型比较
1.引用的概念 引用这个概念是与JAVA虚拟机的垃圾回收有关的,不同的引用类型对应不同的垃圾回收策略或时机. 垃圾收集可能是大家感到难于理解的较难的概念之一,因为它并不能总是毫无遗漏地解决Java运行 ...
- Java中的几种引用类型_Java中的几种引用类型(转载)
Java中的对象引用主要有以下几种类型: 1)强可及对象(strongly reachable): 可以通过强引用访问的对象,一般来说,我们平时写代码的方式都是使用的强引用对象,比如下边的代码段: S ...
- Java中的四种引用类型
1.Java中四种引用类型:强软弱虚 面试:强引用和弱引用的区别? 1.1 强引用 普通变量赋值即为强引用,如 A a = new A(); 强引用的回收特点: 当内存空间不足,Java虚拟机宁愿抛出 ...
- java级别_Java中的四种访问级别
在Java中,针对类.成员方法和属性提供了四种访问级别,分别是private.default.protected和public.接下来通过一个图将这四种控制级别由小到大依次列出,如图1所示. 图1 访 ...
- Java 中的四种引用类型
一.背景 Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收.Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分别为:强引用.软引用.弱引 ...
- java四种修饰符_java中的四种修饰符
在编程过程中,经常会遇到四种修饰符来控制访问权限.之前对这个知识点没有研究过,一直是一知半解,每次遇到问题都模棱两可,不能给出一个确切的答案.近几天系统的看了看,也有了自己的一点心得体会. 正文: 先 ...
- java的四个访问修饰符_Java中的四种访问修饰符
Java中修饰符分为两种:访问修饰符和非访问修饰符.修饰符中,有一些修饰符可以既可以修饰类,也可以修饰方法,但是有一些修饰符只能修饰符方法. 今天这篇文章先介绍一下四种访问修饰符. 1.private ...
- java单例模式 参数_java中的几种单例模式
目前比较常见的有4种(DCL为懒汉模式的线程安全版本). 单例模式的实现一般需要满足以下条件: 1.构造方法私有化,实例属性私有化. 2.必须仅在类的内部完成实例的初始化过程. 3.提供公共静态方法, ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
最新文章
- 一文解读Tensor到底是个啥玩意儿?(附代码)
- 从一则笑话里分析项目需求的缺陷
- ES6-13 正则方法、修饰符yus、UTF_16编码方式
- java 加载shellcode_MSF-Shellcode生成和使用
- cobbler批量安装linux
- 「leetcode」 1382. 将二叉搜索树变平衡:【构造平衡二叉搜索树】详解
- ssh登录很慢,登录上去后速度正常问题的解决方法
- hp cp1025 linux 驱动,惠普HP LaserJet CP1025 打印机驱动
- 医院信息化建设重点工作
- [转载]静息态fMRI、DTI、VBM
- 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (5)——TCP的运输连接管理
- 众包专访:开源中国众包,让未来多一种可能
- 学术英语视听说2听力原文_大学学术英语视听说2-高迎慧
- pytorch:自定义损失函数total variation loss
- 北漂IT男返乡2年的三线楼市观察(宜昌夷陵篇)-原创
- 什么是TPS, 什么是QPS
- 小象学院python网课值得吗-小象学院python
- 真正免费的天气API,无需注册申请key
- 通过JSP页面访问Servlet
- 好好说话之IO_FILE利用(1):利用_IO_2_1_stdout泄露libc
热门文章
- QML中类似QMap的用法
- 【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同
- 2.4操作系统之死锁详解(预防、避免、检测、解除)+思维导图
- golang 数组 最后一个_面试必问:Golang高阶Golang协程实现原理
- Cpp 对象模型探索 / 带有虚继承类的构造函数的调用顺序
- 江苏省事业单位计算机入面分数线,2020江苏事业单位统考周日笔试,考多少分进面?...
- mysql1215_这15条MySQL改善经验必须收藏
- mysql复制文件迁移后看不到表_mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??...
- ad16怎么画弧线_如何告别“千人一面”?手把手教你抠细节,画不一样人脸
- android上河南星海科技_分数不高能上什么空乘学校?推荐下