大小:32.82M
更新时间:23-09-01
系统:Pc
Java并发编程无处不在,服务器、数据库、应用,Java并发是永远不可跳过的沟坎,但如何才能更好的学习和快速上手呢?这里小编推荐大家阅读Java并发编程核心方法与框架,这是一本java开发编程核心方法与框架,由高洪岩编著。本书结合了资深Java专家10年经验总结,基本完全覆盖了Java并发包中核心类、API与并发框架,最大程度介绍了每个常用类的使用,全程案例式讲解,全面介绍Java并发包相关的技术,其特色是:不留遗漏:全面覆盖Java并发知识点;直击要害:实战化案例,精准定位技术细节;学以致用:精要式演示,确保开发/学习不脱节;潜移默化:研磨式知识讲解,参透技术要点,适用java学员阅读。
《Java并发编程核心方法与框架》采用了全程案例式讲解,全面介绍Java并发包相关的技术。以浅白的措辞,结合大量实例模拟实际应用场景,全面解析Java并发包中的核心类、API与并发框架的使用。全书共10章,具体介绍如下:
第1章讲解了线程间的同步性,以及线程间的传输数据控制,即Semaphore和Exchanger类的使用。
第2章介绍了在同步处理上更加灵活的工具类CountDownLatch和CyclicBarrier,详细到每个类的API的具体使用与应用场景。
第3章是第2章的升级,由于CountDownLatch和CyclicBarrier类都有相应的弊端,所以在JDK 1.7中新增加了Phaser类来解决这些缺点,该类是熟练掌握JDK并发包的必要知识点。
第4章是读者应重点掌握的Executor接口与ThreadPoolExecutor线程池,能有效地提高程序运行效率,更好地统筹线程执行的相关任务。
第5章讲解Future和Callable的使用,解决线程需要返回值的情况。
第6章介绍Java并发包中的CompletionService的使用,因为可以以异步的方式获得任务执行的结果,所以该接口可以增强程序运行效率。
第7章介绍接口ExecutorService,该接口提供了若干工具方法来方便执行并发业务。
第8章主要介绍ScheduledExecutorService的使用,以掌握如何将计划任务与线程池结合使用。
第9章主要介绍Fork-Join分治编程,以提升多核CPU的优势,加快程序运行效率。
第10章主要介绍并发集合框架,利用好并发框架,事半功倍。
前言 第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 第8章 计划任务ScheduledExecutorService的使用 239 8.1 ScheduledExecutorService的使用 240 8.2 ScheduledThreadPoolExecutor使用Callable延迟运行 241 8.3 ScheduledThreadPoolExecutor使用Runnable延迟运行 244 8.4 延迟运行并取得返回值 245 8.5 使用scheduleAtFixedRate()方法实现周期性执行 246 8.6 使用scheduleWithFixedDelay()方法实现周期性执行 248 8.7 使用getQueue()与remove()方法 250 8.8 方法setExecuteExistingDelayedTasksAfterShutdownPolicy()的使用 253 8.9 方法setContinueExistingPeriodicTasksAfterShutdownPolicy() 255 8.10 使用cancel(boolean)与setRemoveOnCancelPolicy()方法 257 8.11 本章总结 261 第9章 Fork-Join分治编程 262 9.1 Fork-Join分治编程与类结构 262 9.2 使用RecursiveAction让任务跑起来 264 9.3 使用RecursiveAction分解任务 265 9.4 使用RecursiveTask取得返回值与join()和get()方法的区别 266 9.5 使用RecursiveTask执行多个任务并打印返回值 270 9.6 使用RecursiveTask实现字符串累加 272 9.7 使用Fork-Join实现求和:实验1 273 9.8 使用Fork-Join实现求和:实验2 275 9.9 类ForkJoinPool核心方法的实验 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 监视pool池的状态 301 9.10 类ForkJoinTask对异常的处理 308 9.11 本章总结 309 第10章 并发集合框架 310 10.1 集合框架结构简要 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 非阻塞队列 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 阻塞队列 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 本章总结 354
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
类似软件
深入java虚拟机第二版PDF(原书)18.53M297人在用 热爱编程的朋友Java是门必修课,它是面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。其中组成Java最核心的部分便是底层的虚拟机,本期小编将为你带来深入java虚拟机第二版pdf文件,带你了解Ja
查看
Antechinus JavaScript Editor(JS编辑工具)16.25M276人在用 Antechinus JavaScript Editor是来自国外的一款方便实用,功能完善的JS编辑工具,它可以使你轻松快速的在网页中插入JavaScript代码的编辑器软件,它具有友好的用户界面、快捷的工具栏以及智能的语法填充功能。这个简单的Ja
查看
sun java虚拟机(jvm)14.2M1620人在用 JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统
查看
Java2核心技术第7版卷175.27M238人在用Java2核心技术第7版卷1是一款非常实用的PDF中文版高清电子书,作者:霍斯特曼。它详细的介绍Java2程序设计的核心,用11个关键字术语进行组织就是:简单性,面向对像,分布式,健壮性,安全性,体系结构中立,可移植性,解释型,高性能,多线程和动态性。全
查看热门标签
网友评论0人参与,0条评论
最新排行
06j403-1楼梯栏杆栏板图集.pdf7.97M高清版 06j403-1楼梯栏杆图集是由中国五洲设计研究院与中国建筑标准研究院编官联合编写的一套国家建筑标准设计图集,全称又叫做06j403-1楼梯栏杆栏板(一),是根据建设部建质[2004]46号文“关于发布《二00四国家建筑标准设计编制工作计划》的通知
查看
新课标小学语文四库全书86.06Mv2021官方版 新课标小学语文四库全书是由中国大百科全书专门针对小学生所打造的一款古典文学学习文档,内容涉及范围非常广阔,不仅收录了各种小学语文相关的知识,资料,学习课文,阅读材料等,还涵盖了经、史、子、集四部分,里面的知识均取自人教版课本及资料,让孩子可以更加作
查看
ASP.NET 3.5 揭秘(卷2)58.31MASP.NET 3.5 揭秘(卷2)是一本ASP.NET 3.5框架揭秘书籍,由美国程序员沃尔瑟(WaltherS)编著。本书为需要创建网站的专业程序员而写,是一本使用ASENET 3.5创建网站的十分全面的参考书,主要介绍了ASP.NET的安全性,缓存
查看
Oracle达人修炼秘籍Oracle 11g数据库管理与开发指南19.17M孙风栋pdf扫描版 Oracle达人修炼秘籍是一本Oracle数据库进阶书籍,由孙风栋和王澜两人共同编著,全称叫做Oracle达人修炼秘籍Oracle 11g数据库管理与开发指南。本书内容全面,涵盖Oracle数据库管理与开发的方方面面,全书宏观上清晰呈现Oracle
查看
HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用22.03Mpdf扫描版HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用是一本html5的学习教材,由资深web专家J.D.Gauchat编著。本书内容丰富翔实,详尽讲解和分析了html5中的所有新特性和核心技术,能够迅速提升html5开发技能提供绝佳指导,全
查看
笨办法学python第三版873Kpdf扫描版 笨办法学python第三版是目前最优秀的一本Python学习系统,由美国程序员Zed A.Shaw编著,本书结构非常简单,就是52个习题,用户通过完成52个精心设计的习题来学会Python。阅读这些习题,把习题的代码精确地写出来,修正你的错误,观察
查看
分布式数据库系统原理(第3版)116.41M顾兹叙pdf扫描版 分布式数据管理从一个潜在的重要技术变成普遍应用的技术,而因特网和万维网的出现使人们审视分布的观点发生了变化,如何才能更好的学习和掌握呢?分布式数据库系统原理(第3版)为你提供了详细的学习指引,这是一本分布式数据库系统的开山之作,还是清华大学等高校的
查看
模拟集成电路的分析与设计14.76M 模拟集成电路的分析与设计是一本阐述模拟集成电路的基本原理和概念的书籍,这个在业界都是非常有名气的,也有不少被学者想要这本书子书,今天小编就给大家带来了,它是pdf格式的,大家可以用电脑或者手机打开阅读,有需要的朋友赶紧下载吧!
查看
深度探索linux操作系统pdf125.28M扫描版 深度探索linux操作系统pdf是一本深度阐释Linux操作系统原理的里程碑之作,由资深linux专家王柏生编著。本书以从零开始构建一个完整的Linux操作系统的过程为依托,宏观上全面厘清了构成Linux操作系统的各个组件以及它们之间的关系,微观上
查看
神一样的产品经理pdf167.42M扫描版 神一样的产品经理:基于移动与互联网产品实践是一本移动产品经理用书,由闫荣编著。作者以《引爆产品流行的7大原则》为主题为大家带来了一场理论和实践相互碰撞的分享和交流,以超出预期、人性设计和情感共鸣三方面入手,通过实际案例的讲解,帮助学员共同打造产品气
查看
2017公路工程管理与实务25.7M2017公路工程管理与实务是一级建造师必考的科目,新版本是在第二版的基础上,根据人力资源和社会保障部、住房和城乡建设部审定的《一级建造师执业资格考试大纲(公路工程) 》进行了修编。新版教材变动34处,增加10页,变动集中在第一章路基工程中的软土地区路基和
查看