Java并发编程:核心方法与框架计算机与互联网pdf下载pdf下载

Java并发编程:核心方法与框架计算机与互联网百度网盘pdf下载

作者:
简介:本篇主要提供Java并发编程:核心方法与框架计算机与互联网pdf下载
出版社:互动出版网图书专营店
出版时间:2016-05
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  (正版特价)Java并发编程:核心方法与框架|229755
 图书定价:  79元
 图书作者:  高洪岩
 出版社:  机械工业出版社
 出版日期:  2016/5/1 0:00:00
 ISBN号:  9787111535218
 开本:  16开
 页数:  0
 版次:  1-1
 作者简介
高洪岩,某世界500强企业**项目经理,10余年项目管理与开发经验,10年Java相关开发经验,深谙Java技术开发难点与要点,拥有良好的技术素养和丰富的实践经验。精通J2EE核心技术、基于EJB的分布式系统开发、Android移动开发、智能报表、多线程及高并发等相关的技术内容,近期继续关注并发相关的前沿技术。*有技术畅销书《Java多线程编程核心技术》,喜欢将技术与教育相结合的方式共享知识,得以共同提高。生活中喜欢摄影,对轮滑,旅游,航模亦兴趣浓厚。
 内容简介
Java并发编程无处不在,服务器、数据库、应用,Java并发是永远不可跳过的沟坎,优秀的程序员一定要在Java并发领域进行炼狱式的学习,吸收消化并最终转化成软件产品成果。另外,单纯从Java程序员成长计划这方面进行考虑,Java多线程/并发也依然是想深入学习Java必须要掌握的技术,比如在软件公司中接触的“缓存”,“分布式一致性”,“高并发框架”,“海量数据处理”,“高效订单处理”等都与Java多线程、Java并发紧密相关。进行大数据、分布式、高并发类的专题攻克时,并发编程的学习必不可少,但并发编程学习曲线陡峭,多弯路和”坑”。本书基本完全覆盖了Java并发包中核心类、API与并发框架,最大程度介绍了每个常用类的使用,以案例的方式进行讲解,以使读者快速学习,迅速掌握。
 目录

前言
第1章 Semaphore和Exchanger的使用 1
1.1 Semaphore的使用 2
1.1.1 类Semaphore的同步性 2
1.1.2 类Semaphore构造方法permits参数作用 4
1.1.3 方法acquire(int permits)参数作用及动态添加permits许可数量 5
1.1.4 方法acquireUninterruptibly()的使用 8
1.1.5 方法availablePermits()和drainPermits() 10
1.1.6 方法getQueueLength()和hasQueuedThreads() 12
1.1.7 公平与非公平信号量的测试 13
1.1.8 方法tryAcquire()的使用 15
1.1.9 方法tryAcquire(int permits)的使用 17
1.1.10 方法tryAcquire(long timeout, TimeUnit unit)的使用 17
1.1.11 方法tryAcquire(int permits, long timeout, TimeUnit unit)的使用 19
1.1.12 多进路-多处理-多出路实验 20
1.1.13 多进路-单处理-多出路实验 21
1.1.14 使用Semaphore创建字符串池 23
1.1.15 使用Semaphore实现多生产者/多消费者模式 25
1.2 Exchanger的使用 31
1.2.1 方法exchange()阻塞的特性 31
1.2.2 方法exchange()传递数据 32
1.2.3 方法exchange(V x, long timeout, TimeUnit unit)与超时 34
1.3 本章总结 35
第2章 CountDownLatch和CyclicBarrier的使用 36
2.1 CountDownLatch的使用 36
2.1.1 初步使用 37
2.1.2 裁判在等全部的运动员到来 38
2.1.3 各就各位准备比赛 39
2.1.4 完整的比赛流程 41
2.1.5 方法await(long timeout, TimeUnit unit) 44
2.1.6 方法getCount()的使用 46
2.2 CyclicBarrier的使用 46
2.2.1 初步使用 48
2.2.2 验证屏障重置性及getNumberWaiting()方法的使用 51
2.2.3 用CyclicBarrier类实现阶段跑步比赛 52
2.2.4 方法isBroken()的使用 55
2.2.5 方法await(long timeout, TimeUnit unit)超时出现异常的测试 57
2.2.6 方法getNumberWaiting()和getParties() 60
2.2.7 方法reset() 62
2.3 本章总结 64
第3章 Phaser的使用 65
3.1 Phaser的使用 66
3.2 类Phaser的arriveAndAwaitAdvance()方法测试1 66
3.3 类Phaser的arriveAndAwaitAdvance()方法测试2 68
3.4 类Phaser的arriveAndDeregister()方法测试 69
3.5 类Phaser的getPhase()和onAdvance()方法测试 70
3.6 类Phaser的getRegisteredParties()方法和register()测试 74
3.7 类Phaser的bulkRegister()方法测试 75
3.8 类Phaser的getArrivedParties()和getUnarrivedParties()方法测试 75
3.9 类Phaser的arrive()方法测试1 77
3.10 类Phaser的arrive ()方法测试2 78
3.11 类Phaser的awaitAdvance(int phase)方法测试 81
3.12 类Phaser的awaitAdvanceInterruptibly(int)方法测试1 83
3.13 类Phaser的awaitAdvanceInterruptibly(int)方法测试2 84
3.14 类Phaser的awaitAdvanceInterruptibly(int)方法测试3 86
3.15 类Phaser的awaitAdvanceInterruptibly(int,long,TimeUnit)方法测试4 87
3.16 类Phaser的forceTermination()和isTerminated()方法测试 89
3.17 控制Phaser类的运行时机 92
3.18 本章总结 93
第4章 Executor与ThreadPoolExecutor的使用 94
4.1 Executor接口介绍 94
4.2 使用Executors工厂类创建线程池 97
4.2.1 使用newCachedThreadPool()方法创建无界线程池 98
4.2.2 验证newCachedThreadPool()创建为Thread池 100
4.2.3 使用newCachedThreadPool (ThreadFactory)定制线程工厂 102
4.2.4 使用newFixedThreadPool(int)方法创建有界线程池 103
4.2.5 使用newFixedThreadPool(int, ThreadFactory)定制线程工厂 105
4.2.6 使用newSingleThreadExecutor()方法创建单一线程池 106
4.2.7 使用newSingleThreadExecutor(ThreadFactory)定制线程工厂 107
4.3 ThreadPoolExecutor的使用 107
4.3.1 构造方法的测试 107
4.3.2 方法shutdown()和shutdownNow()与返回值 119
4.3.3 方法isShutdown() 129
4.3.4 方法isTerminating ()和isTerminated () 129
4.3.5 方法awaitTermination(long timeout,TimeUnit unit) 131
4.3.6 工厂ThreadFactory+execute()+UncaughtExceptionHandler处理异常 134
4.3.7 方法set/getRejectedExecutionHandler() 138
4.3.8 方法allowsCoreThreadTimeOut()/(boolean) 140
4.3.9 方法prestartCoreThread()和prestartAllCoreThreads() 142
4.3.10 方法getCompletedTaskCount() 144
4.3.11 常见3种队列结合max值的因果效果 145
4.3.12 线程池ThreadPoolExecutor的拒绝策略 151
4.3.13 方法afterExecute()和beforeExecute() 157
4.3.14 方法remove(Runnable)的使用 159
4.3.15 多个get方法的测试 162
4.3.16 线程池ThreadPoolExecutor与Runnable执行为乱序特性 166
4.4 本章总结 167
第5章 Future和Callable的使用 168
5.1 Future和Callable的介绍 168
5.2 方法get()结合ExecutorService中的submit(Callable)的使用 168
5.3 方法get()结合ExecutorService中的submit(Runnable)和isDone()的使用 170
5.4 使用ExecutorService接口中的方法submit(Runnable, T result) 170
5.5 方法cancel(boolean mayInterruptIfRunning)和isCancelled()的使用 173
5.6 方法get(long timeout, TimeUnit unit)的使用 178
5.7 异常的处理 179
5.8 自定义拒绝策略RejectedExecutionHandler接口的使用 181
5.9 方法execute()与submit()的区别 182
5.10 验证Future的缺点 186
5.11 本章总结 188
第6章 CompletionService的使用 189
6.1 CompletionService介绍 189
6.2 使用CompletionService解决Future的缺点 190
6.3 使用take()方法 193
6.4 使用poll()方法 194
6.5 使用poll(long timeout, TimeUnit unit)方法 195
6.6 类CompletionService与异常 199
6.7 方法Future submit(Runnable task, V result)的测试 205
6.8 本章总结 207
第7章 接口ExecutorService的方法使用 208
7.1 在ThreadPoolExecutor中使用ExecutorService中的方法 208
7.2 方法invokeAny(Collection tasks)的使用与interrupt 209
7.3 方法invokeAny()与执行慢的任务异常 212
7.4 方法invokeAny()与执行快的任务异常 216
7.5 方法invokeAny()与全部异常 220
7.6 方法invokeAny(CollectionTasks, timeout, timeUnit)超时的测试 222
7.7 方法invokeAll(Collection tasks)全正确 226
7.8 方法invokeAll(Collection tasks)快的正确慢的异常 227
7.9 方法invokeAll(Collection tasks)快的异常慢的正确 230
7.10 方法invokeAll(Collection tasks,long timeout,TimeUnit unit)先慢后快 232
7.11 方法invokeAll(Collection tasks,long timeout,TimeUnit unit)先快后慢 234
7.12 方法invokeAll(Collection tasks,long timeout,TimeUnit unit)全慢 236
7.13 本章总结 238
...
 编辑推荐
本书有以下特点
不留遗漏——全面覆盖Java并发知识点;
直击要害——实战化案例,精准定位技术细节;
学以致用——精要式演示,确保开发/学习不脱节;
潜移默化——研磨式知识讲解,参透技术要点;
提升效率——垂直式技术精解,不绕弯路;
循序提升——渐进式知识点统排,确保连贯。