美文网首页
安卓基础

安卓基础

作者: 被风扬起的沙 | 来源:发表于2019-09-29 15:01 被阅读0次

    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.事件分发模型

    事件分发模型.png

    相关文章

      网友评论

          本文标题:安卓基础

          本文链接:https://www.haomeiwen.com/subject/ktuwuctx.html