1.ThreadLocal 的使用及其源码实现
ThreadLocal中存储的值是如何保证绝对的线程安全的? 实际上每个值都是存在线程内部的,ThreadLocal只用来帮助我们从该线程内部的哈希表中找到存放的那个值。
我们使用ThreadLocal存储的值实际是存储在Thread里ThreadLocalMap当中的,而这里的ThreadLocal实例值起到了一个哈希表的键的作用。如我们在线程thread1中调用了threadLocal1的get()方法,首先会用Thread.currentThread()方法获取到thread1,然后获取到thread1的threadLocals实例,threadLocals是一个ThreadLocalMap类型的哈希表。然后,我们再用threadLocal1作为键来从threadLocals中获取到值Entry,并从Entry中取出存储的值并返回。
引用链接:https://juejin.im/post/5b44cd7c6fb9a04f980cb065
2.synchronized(this)、synchronized(class)与synchronized(Object)的区别
多个线程调用同一个对象中的不同名称的synchronized同步方法或synchronized(this)同步代码块时,是同步的。
引用链接:https://blog.csdn.net/luckey_zh/article/details/53815694
https://blog.csdn.net/meetings/article/details/78530955
https://blog.csdn.net/javazejian/article/details/72828483
3.HashMap 的理解
引用链接:https://blog.csdn.net/justloveyou_/article/details/62893086
4.java中什么叫引用
引用链接:https://blog.csdn.net/qq_14989227/article/details/79589342
5.java中四种引用类型
引用链接:https://blog.csdn.net/coding_or_coded/article/details/6603549
6.Thread类中的join()方法原理
https://blog.csdn.net/u010983881/article/details/80257703
7.深入浅出并发编程底层原理
https://juejin.im/post/5d8b5e2b6fb9a04e0925f4fc
8.为什么volatile不能保证原子性而Atomic可以?https://www.cnblogs.com/Mainz/p/3556430.html
https://lrh1993.gitbooks.io/android_interview_guide/content/java/concurrence/volatile.html
9.java 源码系列 - 带你读懂 Reference 和 ReferenceQueue
https://juejin.im/entry/5b28f605f265da59942344d4
10.LeakCanary- 如何检测 Activity 是否泄漏
http://wingjay.com/2017/05/14/dig_into_leakcanary
11.Java 技术之垃圾回收机制
http://wingjay.com/2017/05/24/Java-%E6%8A%80%E6%9C%AF%E4%B9%8B%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6/
12.为什么Dialog不能用Application的Context
系统对TYPE_APPLICATION类型的窗口,要求必需是Activity的Token,不是的话系统会抛出BadTokenException异常。Dialog 是应用窗口类型,Token必须是Activity的Token。
https://blog.csdn.net/u010375364/article/details/51866330
13.Android Handler 消息机制(解惑篇)
https://juejin.im/entry/57fb3c53128fe100546ea4f2
14.glide源码解析(郭霖)
https://blog.csdn.net/sinyu890807/article/details/53759439
15.Android中RelativeLayout和LinearLayout性能分析
https://www.jianshu.com/p/8a7d059da746
16.拒绝枯燥,用生动的例子带你学习红黑树
https://mp.weixin.qq.com/s/Z4joQJMUph2Kwsl_6N319w
17.TCP连接为什么是三次握手,断开是四次握手?
https://mp.weixin.qq.com/s/EEAADJBQwvgPiVwagUxUcg
https://mp.weixin.qq.com/s/oRBCqEcvfX7HEOWWx9i1RA
TCP第四次挥手时,为啥要等待2MSL才进行关闭
https://mp.weixin.qq.com/s/L-eSLMFQGVmVJzmqHgFHtw
18.他人面试题答案
https://mubu.com/doc/uRmziI6te0
19.事件分发模型
网友评论