文档章节

JAVA引用类型

rainmanqqst
 rainmanqqst
发布于 2017/02/28 19:11
字数 357
阅读 12
收藏 0

强引用

强引用是最普遍的引用,java垃圾回收机制不会回收强引用的对象。它的实现方式如下:

Object object = new Object();

只有当object这个对象使用完毕,失去引用后才可能会被回收。但是如果object是一个全局变量,那么只能通过object=null;强制使该对象失去引用,否则除非程序结束,该对象不会被回收。

软引用

 当使用软引用时,除非出现内存不足,否则不会触发回收机制。它的实现方式如下:

Object object = new Object();
SoftReference<Object> soft = new SoftReference<Object>(object);

弱引用

 当使用弱引用时,每次内存回收线程运行时,该对象都会被回收。它的实现方式如下:

Object object = new Object();
WeakReference<Object> weakReference = new WeakReference<Object>(object);   

虚引用

当使用虚引用时,在任何时刻该引用都有可能会被回收,相当于未被引用。虚引用主要用于跟踪对象被垃圾回收的活动。 当回收线程运行准备回收虚引用的对象时,会将该对象放入对应的引用队列中。通过监控这个引用队列,可以在对象被回收前进行一些处理。虚引用必须与ReferenceQueue一起使用。它的实现方式如下:

ReferenceQueue<Object> queue = new ReferenceQueue<>();
Object object = new Object();
PhantomReference<Object> phantomReference = new PhantomReference<>(object,queue);

 

本文转载自:http://blog.csdn.net/mazhimazh/article/details/19752475

共有 人打赏支持
rainmanqqst
粉丝 7
博文 59
码字总数 32306
作品 0
浦东
程序员

暂无文章

下单接口调优实战,性能提高10倍

概述 最近公司的下单接口有些慢,老板担心无法支撑双11,想让我优化一把,但是前提是不允许大改,因为下单接口太复杂了,如果改动太大,怕有风险。另外开发成本和测试成本也非常大。对于这种...

Sam哥哥聊技术
11分钟前
0
0
rabbitMQ的安装和配置

在Windows下进行rabbitMQ的安装 第一步:软件下载 在安装rabbitMQ之前,需要先安装Erlang。 Erlang官网:http://www.erlang.org/downloads rabbitMQ官网:http://www.rabbitmq.com/download....

狼王黄师傅
31分钟前
0
0
SAP产品的Field Extensibility

SAP开发人员的工作职责,除了实现软件的功能性需求外,还会花费相当的精力实现一些非功能性需求,来满足所谓的SAP Product Standard(产品标准)。这些产品标准,包含在SAP项目实施中大显身手...

JerryWang_SAP
36分钟前
0
0
Vue-Element-Upload

记录一下文件上传封装Js 代码示例 封装:uploadFile.vue <template> <el-upload v-model="attachment" ref="upload" class="upload-demo" :action="uploadUrl" ......

华山猛男
43分钟前
2
0
AWVS破解及使用手册

1.安装 因为是windows软件,比较简单,此部分略: 破解插件下载: 链接: https://pan.baidu.com/s/1x9LK9F3KvqDgTvXDjoSZnQ 提取码: 7k4u 2.创建扫描目标 2-1.Targets->Add Target 2-2.对话框...

硅谷课堂
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部