强引用(Strong) 就是我们平时使用的方式 A a = new A();强引用的对象是不会被回收的 软引用(Soft) 在jvm要内存溢出(OOM)时,会回收软引用的对象,释放更多内存 弱引用(Weak) 在下次GC时,弱引用的对象是一定会被回收的 虚引用(Phantom) 对对象的存在时间没有 ...
分类:
编程语言 时间:
2020-01-18 10:24:11
阅读次数:
72
目录 一、J.U.C 简介 二、synchronized 三、volatile 四、CAS 五、ThreadLocal 参考资料 📦 本文以及示例源码已归档在 javacore 一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具 ...
分类:
编程语言 时间:
2020-01-16 12:48:31
阅读次数:
76
本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义、基本使用场景和使用方法。由于个人水平有限,叙述中难免存在不准确或是不清晰的地方,希望大家可以指出,谢谢大家:) 1. What——什么是弱引用?** Java中的弱引用具体指的是java.lang. ...
分类:
编程语言 时间:
2020-01-13 22:12:52
阅读次数:
113
一. 原理 ThreadLocal就是一个类,他有get、set方法,可以起到一个保存、获取某个值的作用。但是这个类的get、set方法有点特殊,各个线程调用他的get、set操作是互不干扰的,具体原因在于他的方法实现: public T get() { Thread t = Thread.curr ...
分类:
其他好文 时间:
2019-12-27 17:56:18
阅读次数:
239
出处: 链接:https://www.jianshu.com/p/a1cd61fa22da ThreadLocal原理回顾 ThreadLocal的原理:每个Thread内部维护着一个ThreadLocalMap,它是一个Map。这个映射表的Key是一个弱引用,其实就是ThreadLocal本身,V ...
分类:
其他好文 时间:
2019-12-22 23:00:35
阅读次数:
208
RefBase:含有内部类weakRef_Impl(影子对象),影子对象中有两个引用计数变量(强引用计数,弱引用计数) sp,构造的时候,强,弱引用计数均+1,析构的时候都-1 wp,构造的时候,弱引用+1,强引用不变,析构的时候弱引用-1,强引用不变 强引用计数=0:实际对象被delete 弱引用 ...
分类:
移动开发 时间:
2019-12-18 14:25:23
阅读次数:
98
一、问题排查 debug调试的framework日志信息: 根据日志,进入MediaPlayer的framework层看源码 STEP 1 先从 可以看到这是正常的new了一个C++层的MediaPlayer 以及设置了一个Java层的弱引用给C++层的MediaPlayer监听,目前一切正常 ST ...
分类:
其他好文 时间:
2019-12-04 21:49:48
阅读次数:
440
基于Proxy // 弱引用映射表 es6 防止对象不能被回收 let toProxy = new WeakMap(); // 原对象: 代理过得对象 let toRaw = new WeakMap(); // 被代理过的对象: 原对象 // 判断为对象 function isObject(val) ...
分类:
其他好文 时间:
2019-12-02 18:56:12
阅读次数:
102
1.首先我们要知道jvm 对于对象的管理分为四种 强引用 软引用 弱引用 虚引用 偷来的图片 : 2. 既然在两次 gc 之间 弱引用可以进行存活,那么我们就可以实现缓存 代码 java 令人头疼的设计模式 解读 : 单例 双判断加锁 ,接口实现 两个get put ,对于所有的对象使用弱引用 存储 ...
分类:
其他好文 时间:
2019-11-30 16:33:49
阅读次数:
67
突然的崩溃让我措手不及 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'App called -statusBar or -statusBarWindow on UI ...
分类:
移动开发 时间:
2019-11-20 13:05:17
阅读次数:
514