2017 August 20 —— improvement; android; java

Java 集合相关

集合相关

HashMap

知识点:

  • HashMap
  • hash 算法,hash 计算
  • put
  • hash 碰撞
  • resize 扩容
  • get
  • 并发

Java HashMap工作原理及实现

Java 8:HashMap的性能提升

关于Java集合的小抄

LinkedHashMap

LRU算法实现:

  • 限制大小
  • 移除least 使用
  • 提升最近使用的 Cache Level

ConcurrentLinkedQueue

非阻塞线程安全队列

原子操作的实现原理

CAS

原子操作的实现原理

sun.misc.Unsafe 相关CAS操作的方法,compareAndSwapInt,compareAndSwapLong等 本质是将内存值与预期值作比较,判断是否相等,相等的话,写入数据,不相等不做操作,返回旧数据;

sun.misc.Unsafe 使用直接获取内存的方式实现浅拷贝 - copyMemory

即使Unsafe对应用程序很有用,但(建议)不要使用它。

校验利用循环检测变量是否被其他线程更改,如果被更改则进入下一次循环操作;

除此之外,利用锁机制也能实现原子操作

LinkedBlockingQueue

阻塞队列

生产消费者: 通过容器解耦生产者消费者的强耦合关系,二者不再直接通信,进而通过容器得到彼此之间的联系; - 这也是借助第三者完成二者解耦的典型应用

上一篇
下一篇
Loading Disqus comments...
Table of Contents