• Java并发实现原理:JDK源码剖析 9787121379727 余春龙 电子工业出版社
21年品牌 40万+商家 超1.5亿件商品

Java并发实现原理:JDK源码剖析 9787121379727 余春龙 电子工业出版社

当天发货,正版二手书,品相一般都没问题。

20.4 2.3折 89 九品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者余春龙

出版社电子工业出版社

ISBN9787121379727

出版时间2020-03

装帧平装

开本16开

定价89元

货号1244505888871013135

上书时间2024-10-31

白湘云书社

十四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
作者简介
中科院软件所计算机硕士毕业。热衷于高并发高可用架构、业务建模、领域驱动设计,在十年的工作中,经历过游戏、社交、广告、电商等各种类型的项目,积累了较丰富的工程经验。

目录
章  多线程基础  / 11.1  线程的优雅关闭  / 11.1.1  stop与destory函数  / 11.1.2  守护线程  / 11.1.3  设置关闭的标志位  / 21.2  InterruptedException与interrupt()函数  / 31.2.1  什么情况下会抛出Interrupted异常  / 31.2.2  轻量级阻塞与重量级阻塞  / 41.2.3  t.isInterrupted()与Thread.interrupted()的区别  / 51.3  synchronized关键字  / 51.3.1  锁的对象是什么  / 51.3.2  锁的本质是什么  / 61.3.3  synchronized实现原理  / 71.4  wait与notify  / 71.4.1  生产者?消费者模型  / 71.4.2  为什么必须和synchornized一起使用  / 81.4.3  为什么wait()的时候必须释放锁  / 91.4.4  wait()与notify()的问题  / 101.5  volatile关键字  / 111.5.1  64位写入的原子性(Half Write)  / 111.5.2  内存可见性  / 111.5.3  重排序:DCL问题  / 121.6  JMM与happen-before  / 131.6.1  为什么会存在“内存可见性”问题  / 131.6.2  重排序与内存可见性的关系  / 151.6.3  as-if-serial语义  / 161.6.4  happen-before是什么  / 171.6.5  happen-before的传递性  / 181.6.6  C++中的volatile关键字  / 191.6.7  JSR-133对volatile语义的增强  / 201.7  内存屏障  / 201.7.1  Linux中的内存屏障  / 211.7.2  JDK中的内存屏障  / 231.7.3  volatile实现原理  / 241.8  final关键字  / 251.8.1  构造函数溢出问题  / 251.8.2  final的happen-before语义  / 261.8.3  happen-before规则总结  / 261.9  综合应用:无锁编程  / 271.9.1  一写一读的无锁队列:内存屏障  / 271.9.2  一写多读的无锁队列:volatile关键字  / 271.9.3  多写多读的无锁队列:CAS  / 281.9.4  无锁栈  / 281.9.5  无锁链表  / 28第2章  Atomic类  / 292.1  AtomicInteger和AtomicLong  / 292.1.1  悲观锁与乐观锁  / 312.1.2  Unsafe 的CAS详解  / 312.1.3  自旋与阻塞  / 322.2  AtomicBoolean和AtomicReference  / 332.2.1  为什么需要AtomicBoolean  / 332.2.2  如何支持boolean和double类型  / 332.3  AtomicStampedReference和AtomicMarkable Reference  / 342.3.1  ABA问题与解决办法  / 342.3.2  为什么没有AtomicStampedInteger或AtomictStampedLong  / 352.3.3  AtomicMarkableReference  / 362.4  AtomicIntegerFieldUpdater、AtomicLongFieldUpdater和AtomicReferenceField Updater  / 372.4.1  为什么需要AtomicXXXFieldUpdater  / 372.4.2  限制条件  / 382.5  AtomicIntegerArray、AtomicLongArray和AtomicReferenceArray  / 382.5.1  使用方式  / 382.5.2  实现原理  / 392.6  Striped64与LongAdder  / 402.6.1  LongAdder原理  / 402.6.2  最终一致性  / 412.6.3  伪共享与缓存行填充  / 422.6.4  LongAdder核心实现  / 432.6.5  LongAccumulator  / 472.6.6  DoubleAdder与DoubleAccumulator  / 47第3章  Lock与Condition  / 493.1  互斥锁  / 493.1.1  锁的可重入性  / 493.1.2  类继承层次  / 493.1.3  锁的公平性vs.非公平性  / 513.1.4  锁实现的基本原理  / 513.1.5  公平与非公平的lock()实现差异  / 533.1.6  阻塞队列与唤醒机制  / 553.1.7  unlock()实现分析  / 583.1.8  lockInterruptibly()实现分析  / 593.1.9  tryLock()实现分析  / 603.2  读写锁  / 603.2.1  类继承层次  / 603.2.2  读写锁实现的基本原理  / 613.2.3  AQS的两对模板方法  / 623.2.4  WriteLock公平vs.非公平实现  / 653.2.5  ReadLock公平vs.非公平实现  / 673.3  Condition  / 683.3.1  Condition与Lock的关系  / 683.3.2  Condition的使用场景  / 693.3.3  Condition实现原理  / 713.3.4  await()实现分析  / 723.3.5  awaitUninterruptibly()实现分析  / 733.3.6  notify()实现分析  / 743.4  StampedLock  / 753.4.1  为什么引入StampedLock  / 753.4.2  使用场景  / 753.4.3  “乐观读”的实现原理  / 773.4.4  悲观读/写:“阻塞”与“自旋”策略实现差异  / 78第4章  同步工具类  / 834.1  Semaphore  / 834.2  CountDownLatch  / 844.2.1  CountDownLatch使用场景  / 844.2.2  await()实现分析  / 854.2.3  countDown()实现分析  / 854.3  CyclicBarrier  / 864.3.1  CyclicBarrier使用场景  / 864.3.2  CyclicBarrier实现原理  / 874.4  Exchanger  / 904.4.1  Exchanger使用场景  / 904.4.2  Exchanger 实现原理  / 914.4.3  exchange(V x)实现分析  / 924.5  Phaser  / 944.5.1  用Phaser替代CyclicBarrier和CountDownLatch  / 944.5.2  Phaser新特性  / 954.5.3  state变量解析  / 964.5.4  阻塞与唤醒(Treiber Stack)  / 984.5.5  arrive()函数分析  / 994.5.6  awaitAdvance()函数分析  / 101第5章  并发容器  / 1045.1  BlockingQueue  / 1045.1.1  ArrayBlockingQueue  / 1055.1.2  LinkedBlockingQueue  / 1065.1.3  PriorityBlockingQueue  / 1095.1.4  DelayQueue  / 1115.1.5  SynchronousQueue  / 1135.2  BlockingDeque  / 1215.3  CopyOnWrite  / 1235.3.1  CopyOnWriteArrayList  / 1235.3.2  CopyOnWriteArraySet  / 1245.4  ConcurrentLinkedQueue/ Deque  / 1255.5  ConcurrentHashMap  / 1305.5.1  JDK 7中的实现方式  / 1305.5.2  JDK 8中的实现方式  / 1385.6  ConcurrentSkipListMap/Set  / 1525.6.1  ConcurrentSkipListMap  / 1535.6.2  ConcurrentSkipListSet  / 162第6章  线程池与Future  / 1636.1  线程池的实现原理  / 1636.2  线程池的类继承体系  / 1646.3  ThreadPoolExecutor  / 1656.3.1  核心数据结构  / 1656.3.2  核心配置参数解释  / 1656.3.3  线程池的优雅关闭  / 1676.3.4  任务的提交过程分析  / 1726.3.5  任务的执行过程分析  / 1746.3.6  线程池的4种拒绝策略  / 1796.4  Callable与Future  / 1806.5  ScheduledThreadPool Executor  / 1836.5.1  延迟执行和周期性执行的原理  / 1846.5.2  延迟执行  / 1846.5.3  周期性执行  / 1856.6  Executors工具类  / 188第7章  ForkJoinPool  / 1907.1  ForkJoinPool用法  / 1907.2  核心数据结构  / 1937.3  工作窃取队列  / 1957.4  ForkJoinPool状态控制  / 1987.4.1  状态变量ctl解析  / 1987.4.2  阻塞栈Treiber Stack  / 2007.4.3  ctl变量的初始值  / 2017.4.4  ForkJoinWorkerThread状态与个数分析  / 2017.5  Worker线程的阻塞-唤醒机制  / 2027.5.1  阻塞�入栈  / 2027.5.2  唤醒�出栈  / 2047.6  任务的提交过程分析  / 2057.6.1  内部提交任务pushTask  / 2067.6.2  外部提交任务addSubmission  / 2067.7  工作窃取算法:任务的执行过程分析  / 2077.7.1  顺序锁 SeqLock  / 2097.7.2  scanGuard解析  / 2107.8  ForkJoinTask的fork/join  / 2127.8.1  fork  / 2137.8.2  join的层层嵌套  / 2137.9  ForkJoinPool的优雅关闭  / 2227.9.1  关键的terminate变量  / 2227.9.2  shutdown()与shutdownNow()的区别  / 223第8章  CompletableFuture  / 2268.1  CompletableFuture用法  / 2268.1.1  最简单的用法  / 2268.1.2  提交任务:runAsync与supplyAsync  / 2268.1.3  链式的CompletableFuture:thenRun、thenAccept和thenApply  / 2278.1.4  CompletableFuture的组合:thenCompose与thenCombine  / 2298.1.5  任意个CompletableFuture的组合  / 2318.2  四种任务原型  / 2338.3  CompletionStage接口  / 2338.4  CompletableFuture内部原理  / 2348.4.1  CompletableFuture的构造:ForkJoinPool  / 2348.4.2  任务类型的适配  / 2358.4.3  任务的链式执行过程分析  / 2378.4.4  thenApply与thenApplyAsync的区别  / 2418.5  任务的网状执行:有向无环图  / 2428.6  allOf内部的计算图分析  / 244

内容摘要
本书全面而系统地剖析了Java Concurrent包中的每一个部分,对并发的实现原理进行了深刻的探讨。全书分为8章,章从很基础的多线程知识讲起,理清多线程中容易误解的知识点,探究背后的原理,包括内存重排序、happen-before、内存屏障等;第2~8章,从简单到复杂,逐个剖析Concurrent包的每个部分,包括原子类、锁、同步工具类、并发容器、线程池、ForkJoinPool、CompletableFuture共7个部分。本书遵循层层递进的逻辑,后一章建立在前一章的知识点基础之上,建议读者由浅入深,逐步深入阅读。本书适合有一定Java开发经验的工程师、架构师阅读。通过本书,读者可以对多线程编程形成一个“深刻而直观”的认识,而不是再仅仅停留在概念和理论层面。

主编推荐
本书全面系统地讲解了Java并发实现原理,从基础的多线程知识讲起,全面介绍了Concurrent包的每个部分,详细分析多线程背后的原理,同时从源码角度进行了剖析,为的一本好书。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP