java 强引用,软引用,弱引用,虚引用具体使用
来源:互联网 发布:淘宝批发 编辑:程序博客网 时间:2024/06/01 23:15
1 强引用
什么是强引用,说句废话平常我们用到的对象基本上都是强引用
比如 Object o=new Object(); 这个就属于强引用
强引用表示 就算jvm 抛出内存溢出的异常 gc也不会回收它
2 软引用
如果一个对象具有软引用,当内存空间不足,GC会回收这些对象的内存,可以想象当发生内存溢出时一定没有软引用了。
我们一般用软引用构建敏感数据的缓存
软引用的使用和SoftReference<T>一起使用如下
Object o=new Object() ;//强引用 不可怀疑
SoftReference<Object> softReference=new SoftReference<Object>(o);
o=null; //这句不可省略,不然softreference 就不起作用了
取数据 Object o2=softReference.get();//使用之前最好先判断是否为空,这里就不判断了
3 弱引用
如果一个对象具有弱引用,在GC线程扫描内存区域的过程中,不管当前内存空间足够与否,都会回收内存,具体什么时间回收这个就看gc 了,不是我们人类可以操控的
我们一般用弱引用构建不敏感数的缓存
弱引用和WeakReference<T> 一起使用 如下
Object o=new Object();//强引用 不可怀疑
WeakReference<Object> weakReference=new WeakReference<Object>(o);
取数据时 weakReference.get();//不管o是否是强引用,只要gc 就会回收弱引用
4虚引用
只要gc想回收任何时候都可回收。。。最没地位的一个
使用如下 需要借助ReferenceQueue如下
PhantomReference<Object> phantomReference=new PhantomReference<User>(new Object(),new ReferenceQueue<Object>());
- java 强引用,软引用,弱引用,虚引用具体使用
- 强引用,软引用,弱引用,虚引用的使用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- java 强引用,软引用,弱引用,虚引用
- java 强引用,软引用,弱引用,虚引用
- Java 强引用、软引用、弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- Java强引用、 软引用、 弱引用、虚引用
- Java强引用、 软引用、 弱引用、虚引用
- Android Studio配置文件路径修改
- MongoDB不修改代码实现php的旧驱动扩展php_mongo升级到新驱动扩展php_mongodb
- Android base字符串转化为bitmap格式 再转成ImageView
- Audio PCM输出流程
- navigation bar底部导航栏挡住屏幕其他控件处理
- java 强引用,软引用,弱引用,虚引用具体使用
- hibernate笔记-008-联合主键注解配置
- CSS常用精华锦集
- net-snmp配置
- elasticsearch 安装marvel
- eclipse安装后code=1错误
- 常见医疗扫描图像处理步骤
- IDEA忽略文件,防止git提交不想提交的文件的探索
- Mysql导出表结构及表数据 mysqldump用法