Java并發(fā)編程無(wú)處不在,服務(wù)器、數(shù)據(jù)庫(kù)、應(yīng)用,Java并發(fā)是永遠(yuǎn)不可跳過(guò)的溝坎,但如何才能更好的學(xué)習(xí)和快速上手呢?這里小編推薦大家閱讀Java并發(fā)編程核心方法與框架,這是一本java開(kāi)發(fā)編程核心方法與框架,由高洪巖編著。本書(shū)結(jié)合了資深Java專家10年經(jīng)驗(yàn)總結(jié),基本完全覆蓋了Java并發(fā)包中核心類、API與并發(fā)框架,最大程度介紹了每個(gè)常用類的使用,全程案例式講解,全面介紹Java并發(fā)包相關(guān)的技術(shù),其特色是:不留遺漏:全面覆蓋Java并發(fā)知識(shí)點(diǎn);直擊要害:實(shí)戰(zhàn)化案例,精準(zhǔn)定位技術(shù)細(xì)節(jié);學(xué)以致用:精要式演示,確保開(kāi)發(fā)/學(xué)習(xí)不脫節(jié);潛移默化:研磨式知識(shí)講解,參透技術(shù)要點(diǎn),適用java學(xué)員閱讀。
內(nèi)容介紹
《Java并發(fā)編程核心方法與框架》采用了全程案例式講解,全面介紹Java并發(fā)包相關(guān)的技術(shù)。以淺白的措辭,結(jié)合大量實(shí)例模擬實(shí)際應(yīng)用場(chǎng)景,全面解析Java并發(fā)包中的核心類、API與并發(fā)框架的使用。全書(shū)共10章,具體介紹如下:
第1章講解了線程間的同步性,以及線程間的傳輸數(shù)據(jù)控制,即Semaphore和Exchanger類的使用。
第2章介紹了在同步處理上更加靈活的工具類CountDownLatch和CyclicBarrier,詳細(xì)到每個(gè)類的API的具體使用與應(yīng)用場(chǎng)景。
第3章是第2章的升級(jí),由于CountDownLatch和CyclicBarrier類都有相應(yīng)的弊端,所以在JDK 1.7中新增加了Phaser類來(lái)解決這些缺點(diǎn),該類是熟練掌握J(rèn)DK并發(fā)包的必要知識(shí)點(diǎn)。
第4章是讀者應(yīng)重點(diǎn)掌握的Executor接口與ThreadPoolExecutor線程池,能有效地提高程序運(yùn)行效率,更好地統(tǒng)籌線程執(zhí)行的相關(guān)任務(wù)。
第5章講解Future和Callable的使用,解決線程需要返回值的情況。
第6章介紹Java并發(fā)包中的CompletionService的使用,因?yàn)榭梢砸援惒降姆绞将@得任務(wù)執(zhí)行的結(jié)果,所以該接口可以增強(qiáng)程序運(yùn)行效率。
第7章介紹接口ExecutorService,該接口提供了若干工具方法來(lái)方便執(zhí)行并發(fā)業(yè)務(wù)。
第8章主要介紹ScheduledExecutorService的使用,以掌握如何將計(jì)劃任務(wù)與線程池結(jié)合使用。
第9章主要介紹Fork-Join分治編程,以提升多核CPU的優(yōu)勢(shì),加快程序運(yùn)行效率。
第10章主要介紹并發(fā)集合框架,利用好并發(fā)框架,事半功倍。
Java并發(fā)編程核心方法與框架章節(jié)目錄
前言 第1章 Semaphore和Exchanger的使用 1 1.1 Semaphore的使用 2 1.1.1 類Semaphore的同步性 2 1.1.2 類Semaphore構(gòu)造方法permits參數(shù)作用 4 1.1.3 方法acquire(int permits)參數(shù)作用及動(dòng)態(tài)添加permits許可數(shù)量 5 1.1.4 方法acquireUninterruptibly()的使用 8 1.1.5 方法availablePermits()和drainPermits() 10 1.1.6 方法getQueueLength()和hasQueuedThreads() 12 1.1.7 公平與非公平信號(hào)量的測(cè)試 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 多進(jìn)路-多處理-多出路實(shí)驗(yàn) 20 1.1.13 多進(jìn)路-單處理-多出路實(shí)驗(yàn) 21 1.1.14 使用Semaphore創(chuàng)建字符串池 23 1.1.15 使用Semaphore實(shí)現(xiàn)多生產(chǎn)者/多消費(fèi)者模式 25 1.2 Exchanger的使用 31 1.2.1 方法exchange()阻塞的特性 31 1.2.2 方法exchange()傳遞數(shù)據(jù) 32 1.2.3 方法exchange(V x, long timeout, TimeUnit unit)與超時(shí) 34 1.3 本章總結(jié) 35 第2章 CountDownLatch和CyclicBarrier的使用 36 2.1 CountDownLatch的使用 36 2.1.1 初步使用 37 2.1.2 裁判在等全部的運(yùn)動(dòng)員到來(lái) 38 2.1.3 各就各位準(zhǔn)備比賽 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 驗(yàn)證屏障重置性及getNumberWaiting()方法的使用 51 2.2.3 用CyclicBarrier類實(shí)現(xiàn)階段跑步比賽 52 2.2.4 方法isBroken()的使用 55 2.2.5 方法await(long timeout, TimeUnit unit)超時(shí)出現(xiàn)異常的測(cè)試 57 2.2.6 方法getNumberWaiting()和getParties() 60 2.2.7 方法reset() 62 2.3 本章總結(jié) 64 第3章 Phaser的使用 65 3.1 Phaser的使用 66 3.2 類Phaser的arriveAndAwaitAdvance()方法測(cè)試1 66 3.3 類Phaser的arriveAndAwaitAdvance()方法測(cè)試2 68 3.4 類Phaser的arriveAndDeregister()方法測(cè)試 69 3.5 類Phaser的getPhase()和onAdvance()方法測(cè)試 70 3.6 類Phaser的getRegisteredParties()方法和register()測(cè)試 74 3.7 類Phaser的bulkRegister()方法測(cè)試 75 3.8 類Phaser的getArrivedParties()和getUnarrivedParties()方法測(cè)試 75 3.9 類Phaser的arrive()方法測(cè)試1 77 3.10 類Phaser的arrive ()方法測(cè)試2 78 3.11 類Phaser的awaitAdvance(int phase)方法測(cè)試 81 3.12 類Phaser的awaitAdvanceInterruptibly(int)方法測(cè)試1 83 3.13 類Phaser的awaitAdvanceInterruptibly(int)方法測(cè)試2 84 3.14 類Phaser的awaitAdvanceInterruptibly(int)方法測(cè)試3 86 3.15 類Phaser的awaitAdvanceInterruptibly(int,long,TimeUnit)方法測(cè)試4 87 3.16 類Phaser的forceTermination()和isTerminated()方法測(cè)試 89 3.17 控制Phaser類的運(yùn)行時(shí)機(jī) 92 3.18 本章總結(jié) 93 第4章 Executor與ThreadPoolExecutor的使用 94 4.1 Executor接口介紹 94 4.2 使用Executors工廠類創(chuàng)建線程池 97 4.2.1 使用newCachedThreadPool()方法創(chuàng)建無(wú)界線程池 98 4.2.2 驗(yàn)證newCachedThreadPool()創(chuàng)建為T(mén)hread池 100 4.2.3 使用newCachedThreadPool (ThreadFactory)定制線程工廠 102 4.2.4 使用newFixedThreadPool(int)方法創(chuàng)建有界線程池 103 4.2.5 使用newFixedThreadPool(int, ThreadFactory)定制線程工廠 105 4.2.6 使用newSingleThreadExecutor()方法創(chuàng)建單一線程池 106 4.2.7 使用newSingleThreadExecutor(ThreadFactory)定制線程工廠 107 4.3 ThreadPoolExecutor的使用 107 4.3.1 構(gòu)造方法的測(cè)試 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 常見(jiàn)3種隊(duì)列結(jié)合max值的因果效果 145 4.3.12 線程池ThreadPoolExecutor的拒絕策略 151 4.3.13 方法afterExecute()和beforeExecute() 157 4.3.14 方法remove(Runnable)的使用 159 4.3.15 多個(gè)get方法的測(cè)試 162 4.3.16 線程池ThreadPoolExecutor與Runnable執(zhí)行為亂序特性 166 4.4 本章總結(jié) 167 第5章 Future和Callable的使用 168 5.1 Future和Callable的介紹 168 5.2 方法get()結(jié)合ExecutorService中的submit(Callable)的使用 168 5.3 方法get()結(jié)合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()的區(qū)別 182 5.10 驗(yàn)證Future的缺點(diǎn) 186 5.11 本章總結(jié) 188 第6章 CompletionService的使用 189 6.1 CompletionService介紹 189 6.2 使用CompletionService解決Future的缺點(diǎn) 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)的測(cè)試 205 6.8 本章總結(jié) 207 第7章 接口ExecutorService的方法使用 208 7.1 在ThreadPoolExecutor中使用ExecutorService中的方法 208 7.2 方法invokeAny(Collection tasks)的使用與interrupt 209 7.3 方法invokeAny()與執(zhí)行慢的任務(wù)異常 212 7.4 方法invokeAny()與執(zhí)行快的任務(wù)異常 216 7.5 方法invokeAny()與全部異常 220 7.6 方法invokeAny(CollectionTasks, timeout, timeUnit)超時(shí)的測(cè)試 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 本章總結(jié) 238 第8章 計(jì)劃任務(wù)ScheduledExecutorService的使用 239 8.1 ScheduledExecutorService的使用 240 8.2 ScheduledThreadPoolExecutor使用Callable延遲運(yùn)行 241 8.3 ScheduledThreadPoolExecutor使用Runnable延遲運(yùn)行 244 8.4 延遲運(yùn)行并取得返回值 245 8.5 使用scheduleAtFixedRate()方法實(shí)現(xiàn)周期性執(zhí)行 246 8.6 使用scheduleWithFixedDelay()方法實(shí)現(xiàn)周期性執(zhí)行 248 8.7 使用getQueue()與remove()方法 250 8.8 方法setExecuteExistingDelayedTasksAfterShutdownPolicy()的使用 253 8.9 方法setContinueExistingPeriodicTasksAfterShutdownPolicy() 255 8.10 使用cancel(boolean)與setRemoveOnCancelPolicy()方法 257 8.11 本章總結(jié) 261 第9章 Fork-Join分治編程 262 9.1 Fork-Join分治編程與類結(jié)構(gòu) 262 9.2 使用RecursiveAction讓任務(wù)跑起來(lái) 264 9.3 使用RecursiveAction分解任務(wù) 265 9.4 使用RecursiveTask取得返回值與join()和get()方法的區(qū)別 266 9.5 使用RecursiveTask執(zhí)行多個(gè)任務(wù)并打印返回值 270 9.6 使用RecursiveTask實(shí)現(xiàn)字符串累加 272 9.7 使用Fork-Join實(shí)現(xiàn)求和:實(shí)驗(yàn)1 273 9.8 使用Fork-Join實(shí)現(xiàn)求和:實(shí)驗(yàn)2 275 9.9 類ForkJoinPool核心方法的實(shí)驗(yàn) 276 9.9.1 方法public void execute(ForkJoinTask task)的使用 276 9.9.2 方法public void execute(Runnable task)的使用 278 9.9.3 方法public void execute(ForkJoinTask task)如何處理返回值 278 9.9.4 方法public ForkJoinTask submit(ForkJoinTask task)的使用 279 9.9.5 方法public ForkJoinTask submit(Runnable task)的使用 280 9.9.6 方法public ForkJoinTask submit(Callable task)的使用 281 9.9.7 方法public ForkJoinTask submit(Runnable task, T result)的使用 282 9.9.8 方法public List> invokeAll(Collection> tasks)的使用 285 9.9.9 方法public void shutdown()的使用 286 9.9.10 方法public List shutdownNow()的使用 289 9.9.11 方法isTerminating()和isTerminated()的使用 292 9.9.12 方法public boolean isShutdown()的使用 295 9.9.13 方法public boolean awaitTermination(long timeout, TimeUnit unit)的使用 297 9.9.14 方法public T invoke(ForkJoinTask task)的使用 299 9.9.15 監(jiān)視pool池的狀態(tài) 301 9.10 類ForkJoinTask對(duì)異常的處理 308 9.11 本章總結(jié) 309 第10章 并發(fā)集合框架 310 10.1 集合框架結(jié)構(gòu)簡(jiǎn)要 310 10.1.1 接口Iterable 310 10.1.2 接口Collection 311 10.1.3 接口List 311 10.1.4 接口Set 312 10.1.5 接口Queue 312 10.1.6 接口Deque 312 10.2 非阻塞隊(duì)列 313 10.2.1 類ConcurrentHashMap的使用 313 10.2.2 類ConcurrentSkipListMap的使用 322 10.2.3 類ConcurrentSkipListSet的使用 325 10.2.4 類ConcurrentLinkedQueue的使用 328 10.2.5 類ConcurrentLinkedDeque的使用 330 10.2.6 類CopyOnWriteArrayList的使用 332 10.2.7 類CopyOnWriteArraySet的使用 335 10.3 阻塞隊(duì)列 337 10.3.1 類ArrayBlockingQueue的使用 337 10.3.2 類PriorityBlockingQueue的使用 338 10.3.3 類LinkedBlockingQueue的使用 340 10.3.4 類LinkedBlockingDeque的使用 341 10.3.5 類SynchronousQueue的使用 341 10.3.6 類DelayQueue的使用 344 10.3.7 類LinkedTransferQueue的使用 345 10.4 本章總結(jié) 354
使用說(shuō)明
1、下載并解壓,得出pdf文件
2、如果打不開(kāi)本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開(kāi)解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
- 102j331地溝及蓋板圖集
- 212j201平屋面建筑構(gòu)造圖集 pdf電子版
- 3機(jī)械設(shè)計(jì)手冊(cè)軟件版 v3.0破解版 附安裝教程
- 4欄桿圖集15j403-1 pdf電子版
- 5建筑電氣工程施工質(zhì)量驗(yàn)收規(guī)范gb50303-2015 pdf電子版
- 605s502室外給水管道附屬構(gòu)筑物圖集
- 715j401鋼梯圖集 pdf高清版
- 8工程地質(zhì)手冊(cè)第五版pdf高清電子版
- 9421頁(yè)明星八卦匯總pdf完整版.pdf
- 10高效能人士的七個(gè)習(xí)慣(30周年紀(jì)念版) pdf+epub高清版
熱門(mén)推薦
南方Plus電腦版 v12.3.023.89M / 簡(jiǎn)體中文
有柿電腦版 v11.8.6101.82M / 簡(jiǎn)體中文
得間免費(fèi)小說(shuō)電腦版 v5.3.6.196.6M / 簡(jiǎn)體中文
網(wǎng)易新聞電腦版 v113.697.68M / 簡(jiǎn)體中文
開(kāi)源閱讀電腦版 v3.25.03010017.8M / 簡(jiǎn)體中文
京東讀書(shū)電腦版 v1.13.4官方版2.13M / 簡(jiǎn)體中文
數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡(jiǎn)體中文
吉利博瑞用戶手冊(cè) pdf高清版57.89M / 簡(jiǎn)體中文
未公開(kāi)的Oracle數(shù)據(jù)庫(kù)秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
PHP語(yǔ)言精粹電子書(shū) pdf掃描版25.72M / 簡(jiǎn)體中文