文档章节

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
浦东
程序员

暂无文章

(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
15
4
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部