您的位置:首页 > 编程语言 > Java开发

java四种引用

2017-12-08 18:01 302 查看
四种引用:

强引用,软引用,弱引用,虚引用,除强引用外,
其他都可以在java.lang.ref包中找到,其中FinalReference实现finalize()方法




强引用

强引用:简单来说就是用new 生成的对象,只要它有有一个引用,就不会被回收
如:  String str = new String("强引用");


软引用

软引用:一个对象持有一个软引用时,当堆空间不足时,会被回收,用java.lang.ref.SoftReference实现


例子:https://github.com/Ericjeff/JVM/blob/master/SoftRef.java



弱引用

弱引用:但发生gc时就会被回收,使用java.lang.ref.WeakReference实现


例子代码:https://github.com/Ericjeff/JVM/blob/master/WeakRef.java





虚引用

虚引用:几乎没有引用,通过get()获取强引用,总会失败,必须和引用队列儿一起使用
当垃圾回收器回收对象时,发现它有一个虚引用,就会在对象回收后将,这个虚引用加入引用队列里


代码例子:https://github.com/Ericjeff/JVM/blob/master/PhantomRef.java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java引用