Java笔记11--ConcurrentHashMap展示并发,集合,源码
jdk1.7和1.8的差别,介绍ConcurrentHashMap
通过put 和get源码,了解ConcurrentHashMap的底层结构和hash流程
以CAS+Synchronized管理并发的方式
实例介绍volatile含义
1.引出话题
HashMap和线程不安全对象时候
并发和volatile时
回答数据结构hash表,红黑树等
HashMap和SynchronizedMap区别
1.jdk1.7以“锁”segment的方式保证并发
2.jdk1.8中以“CAS”的方式保证并发
3.SynchronizedMap的put和get封装了HashMap的相关方法,通过互斥锁保证线程安全
4.ConcurrentHashMap做put时,用CAS+Synchronized保证线程安全,更轻量
总结:
1.通过底层源码,展示ConcurrentHashMap的数据结构
2.通过put方法,展示了CAS等并发能力
3.通过put方法,引出红黑树话题
4.通过get方法,展示了hash表冲突相关的技能
5.通过基于ConcurrentHashMap的实例,展示了volatile的相关技能