《深入Java并发》- 目录(v0.1)

Author : mercyblitz
Version: 0.1
Update : 2010-08-27 4:26PM
Email:  mercyblitz@gmai.com


1.  基础    
    1.1  摩尔定律  

    1.2  多处理器时代
        1.2.1  对称多处理( Symmetric Multi-Processor, a.k.a SMP)
        1.2.2  非对称多处理( ASymmetric Multi-Processor, a.k.a ASMP)
        1.2.3  非统一内存访问( a.k.a NUMA)

    1.3  共享内存(Shared Memory)

    1.4  CPU 缓存
        1.4.1  缓存一致性(Cache coherence)
        1.4.2  MESI协议(MESI protocol)

    1.5  线程
        1.5.1  起源(Source)
        1.5.2  优势(Advantages)
        1.5.3  类型(Types)
        1.5.4  模型(Models)
        1.5.5  实现(Implementations)
        1.5.6  安全(Security)

    1.6  内存模型  (Memory Model)
        1.6.1  可见性(Visibility)
        1.6.2  原子性(Atomicity)
        1.6.3  顺序性(Order)
    
    1.7  互斥( Mutual Exclusion)
        1.7.1  阻塞同步( Blocking Synchronization)
        1.7.1.1 临界区(Critical Section)
        1.7.1.2  锁(Lock)
            1.7.1.2.1  类型(Types)
            1.7.1.2.1.1  自旋锁(Spinning Lock)
            1.7.1.2.1.2  标签锁(Ticket Lock)
            1.7.1.2.1.3  偏向锁(Biased Lock)*
            1.7.1.2.2   数据库锁(Database Lock)*
                1.7.1.2.2.1   消极锁
                1.7.1.2.2.2   乐观锁
            1.7.1.2.3  问题(Problems)
                1.7.1.2.3.1  活锁(Live Lock)
                1.7.1.2.3.2  死锁(Dead Lock)
                1.7.1.2.3.3  优先级倒置(Priority Inversion)
                1.7.1.2.3.4  其他(Others)            

        1.7.2 非阻塞同步(Non-Blocking Synchronization)
            1.7.2.1  Wait-free算法
                1.7.2.1.1  比较交换算法(Compare-And-Swap, a.k.a CAS)
                1.7.2.1.2  连接加载/条件存储(Load-link/Store-conditional)
            1.7.2.1.3  ABA问题
            1.7.2.2  Lock-free
            1.7.2.3  Obstruction-free

        1.7.3  重进入(Reentrant)

        1.7.4  监视器(Monitor)
            1.7.4.1  等待和信号(Wait and Signal)
            1.7.4.2  条件变量(Condition Variable)

        1.7.5  信号灯(Semaphore)

        1.7.6  双检查锁(Double-Checked Locking, a.k.a DCL)

    1.8  内存栅栏(Memory Barrier/Fence)

    1.9  一致性模型(Consistency Model)
        1.9.1  原子一致性( Atomic consistency)
        1.9.2  连续一致性(Sequential  Consistency)
        1.9.3  因果一致性(Causal Consistency)        
        1.9.4  释放一致性(Release Consistency)        
        1.9.5  最终一致性(Eventual Consistency)
        1.9.6  Delta一致性(Delta Consistency)        
        1.9.7  弱一致性(Weak Consistency)        
        

    1.10  并发控制(Concurrency Control)
        1.10.1  软件事务存储(Software Transactional Memory,a.k.a STM)
                 
2.  Java 基础
    2.1  Java同步原语
        2.1.1  synchronized关键字
        2.1.2  volatile 关键字
        2.1.3  CAS操作-AtomicX

    2.2  Java内存模型
        2.2.1  可见性(Visibility)
        2.2.2  原子性(Atomicity)
        2.2.3  顺序性(Order)
        2.2.4  Happens-Before

    2.3  java.lang.Thread
        2.3.1  状态(State)
        2.3.2  启动-Thread.start方法
        2.3.3  弃用Thread.stop, Thread.suspend 和 Thread.resume方法
        2.3.4  终止Thread.interrupt和Thread.interrupted方法
        2.3.5  Thread.join方法
        2.3.6  Object.wait/notify方法
        2.3.7  Thread.wait方法


3.  Java并发框架
    3.1J.U.C框架
        3.1.1  同步
            3.1.1.1  核心-AbstractQueuedSynchronizer
            3.1.1.2  重进入锁-ReentrantLock
            3.1.1.3  重进入读写锁-ReentrantReadWriteLock
            3.1.1.4  条件变量-Condition
            3.1.1.5  新通知/信号机制-LockSupport

        3.1.2  限制
            3.1.2.1  CountDownLatch
            3.1.2.2  CyclicBarrier
            3.1.2.3  信号灯(Semaphore)

        3.1.3  原子操作  
                  3.1.3.1  Atomic*类
                  3.1.3.2  操作实现-sun.misc.Unsafe

        3.1.4  线程安全集合
                  3.1.4.1  CopyOnWriteArrayList和CopyOnWriteArraySet
                  3.1.4.2  ConcurrentSkipListMap和ConcurrentSkipListSet
                  3.1.4.3  ConcurrentHashMap
                  3.1.4.4  ArrayBlockingQueue
                  3.1.4.5  LinkedBlockingQueue和ArrayBlockingDueue
                  3.1.4.5  PriorityBlockingQueue    

        3.1.5  线程池
                  3.1.5.1  Executor
                  3.1.5.2  ThreadPoolExecutor
                  3.1.5.3  Callable和Future
                  3.1.5.4  ScheduledExecutorService
                  3.1.5.5  Executors

4. JVM并发实现 **
    4.1  线程(Thread)实现
    4.2  监视器(Monitor)实现
    4.3  可见性实现
    4.4  原子性实现
    4.5  顺序性实现
    4.6  其他

 


说明:

    1. 在标题后面带有符号“*”,代表这个内容可能有点于偏离主题。带有“**”的内容,可能比较难以理解。


   2. 由于知识体系比较繁杂,组织起来比较宽难,因此目录结构很有可能不断地更新。该文章的Update部分或者标题也会同步更新。


    3.一旦章节的内容完结,目录会即时更新链接,请大家留意。

 

    4.作者能力和学识有限,如果读者还有更加感兴趣的议题,或者任何错误、意见和建议,不妨直接留言或者发邮件来讨论。如果能够合著的话,那是更加完美了。


    5.文章转载前,请联系文章的作者。

 

 

谢谢 ,EOF!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值