中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
Java核心技術系列JAVA多線程編程核心技術(第2版)

包郵 Java核心技術系列JAVA多線程編程核心技術(第2版)

作者:高洪巖
出版社:機械工業出版社出版時間:2019-05-01
開本: 16開 頁數: 442
中 圖 價:¥55.4(5.6折) 定價  ¥99.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

Java核心技術系列JAVA多線程編程核心技術(第2版) 版權信息

  • ISBN:9787111614906
  • 條形碼:9787111614906 ; 978-7-111-61490-6
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

Java核心技術系列JAVA多線程編程核心技術(第2版) 本書特色

全書共7章。第1章講解了Java多線程的基礎,重點介紹線程類的核心API的使用。第2章講解對并發訪問的控制,即如何寫出線程安全的程序。第3章介紹線程間通信,以提高CPU利用率和系統間的交互,同時增強對線程任務的把控與監督。第4章講解Lock對象,以更好實現并發訪問時的同步處理。第5章講解移動開發中使用較多的定時器類中的多線程技術,這是計劃/任務執行里很重要的技術點。第6章講解如何安全、正確地將單例模式與多線程技術相結合,避免實際應用中可能會出現的麻煩。第7章將前面被遺漏的技術案例在本章節中進行補充,盡量做到不出現技術空白點。

Java核心技術系列JAVA多線程編程核心技術(第2版) 內容簡介

全書共7章。章講解了Java多線程的基礎,重點介紹線程類的核心API的使用。第2章講解對并發訪問的控制,即如何寫出線程安全的程序。第3章介紹線程間通信,以提高CPU利用率和系統間的交互,同時增強對線程任務的把控與監督。第4章講解Lock對象,以更好實現并發訪問時的同步處理。第5章講解移動開發中使用較多的定時器類中的多線程技術,這是計劃/任務執行里很重要的技術點。第6章講解如何安全、正確地將單例模式與多線程技術相結合,避免實際應用中可能會出現的麻煩。第7章將前面被遺漏的技術案例在本章節中進行補充,盡量做到不出現技術空白點。

Java核心技術系列JAVA多線程編程核心技術(第2版) 目錄

前言
第1章 Java多線程技能1
1.1 進程和多線程概述1
1.2 使用多線程5
1.2.1 繼承Thread類5
1.2.2 使用常見命令分析線程的信息8
1.2.3 線程隨機性的展現11
1.2.4 執行start()的順序不代表執行run()的順序12
1.2.5 實現Runnable接口13
1.2.6 使用Runnable接口實現多線程的優點14
1.2.7 實現Runnable接口與繼承Thread類的內部流程16
1.2.8 實例變量共享造成的非線程安全問題與解決方案17
1.2.9 Servlet技術造成的非線程安全問題與解決方案21
1.2.10 留意i--與System.out.println()出現的非線程安全問題24
1.3 currentThread()方法26
1.4 isAlive()方法29
1.5 sleep(long millis)方法31
1.6 sleep(long millis, int nanos)方法33
1.7 StackTraceElement[] getStackTrace()方法33
1.8 static void dumpStack()方法35
1.9 static Map getAllStackTraces()方法36
1.10 getId()方法38
1.11 停止線程38
1.11.1 停止不了的線程39
1.11.2 判斷線程是否為停止狀態41
1.11.3 能停止的線程—異常法43
1.11.4 在sleep狀態下停止線程47
1.11.5 用stop()方法暴力停止線程49
1.11.6 stop()方法與java.lang.ThreadDeath異常51
1.11.7 使用stop()釋放鎖給數據造成不一致的結果52
1.11.8 使用“return;”語句停止線程的缺點與解決方案54
1.12 暫停線程57
1.12.1 suspend()方法與resume()方法的使用57
1.12.2 suspend()方法與resume()方法的缺點—獨占58
1.12.3 suspend()方法與resume()方法的缺點—數據不完整62
1.13 yield()方法63
1.14 線程的優先級64
1.14.1 線程優先級的繼承特性65
1.14.2 優先級的規律性66
1.14.3 優先級的隨機性68
1.14.4 優先級對線程運行速度的影響70
1.15 守護線程71
1.16 本章小結73
第2章 對象及變量的并發訪問74
2.1 synchronized同步方法74
2.1.1 方法內的變量為線程安全74
2.1.2 實例變量非線程安全問題與解決方案77
2.1.3 同步synchronized在字節碼指令中的原理80
2.1.4 多個對象多個鎖81
2.1.5 將synchronized方法與對象作為鎖84
2.1.6 臟讀89
2.1.7 synchronized鎖重入91
2.1.8 鎖重入支持繼承的環境93
2.1.9 出現異常,鎖自動釋放94
2.1.10 重寫方法不使用synchronized96
2.1.11 public static boolean holdsLock(Object obj)方法的使用99
2.2 synchronized同步語句塊99
2.2.1 synchronized方法的弊端99
2.2.2 synchronized同步代碼塊的使用102
2.2.3 用同步代碼塊解決同步方法的弊端104
2.2.4 一半異步,一半同步105
2.2.5 synchronized代碼塊間的同步性108
2.2.6 println()方法也是同步的110
2.2.7 驗證同步synchronized(this)代碼塊是鎖定當前對象的110
2.2.8 將任意對象作為鎖113
2.2.9 多個鎖就是異步執行116
2.2.10 驗證方法被調用是隨機的118
2.2.11 不同步導致的邏輯錯誤及其解決方法121
2.2.12 細化驗證3個結論124
2.2.13 類Class的單例性129
2.2.14 靜態同步synchronized方法與synchronized(class)代碼塊130
2.2.15 同步syn static方法可以對類的所有對象實例起作用135
2.2.16 同步syn(class)代碼塊可以對類的所有對象實例起作用137
2.2.17 String常量池特性與同步相關的問題與解決方案138
2.2.18 同步synchronized方法無限等待問題與解決方案141
2.2.19 多線程的死鎖143
2.2.20 內置類與靜態內置類146
2.2.21 內置類與同步:實驗1149
2.2.22 內置類與同步:實驗2151
2.2.23 鎖對象改變導致異步執行153
2.2.24 鎖對象不改變依然同步執行156
2.2.25 同步寫法案例比較158
2.3 volatile關鍵字159
2.3.1 可見性的測試159
2.3.2 原子性的測試168
2.3.3 禁止代碼重排序的測試176
2.4 本章小結187
第3章 線程間通信188
3.1 wait/notify機制188
3.1.1 不使用wait/notify機制實現線程間通信188
3.1.2 wait/notify機制191
3.1.3 wait/notify機制的原理192
3.1.4 wait()方法的基本使用192
3.1.5 完整實現wait/notify機制194
3.1.6 使用wait/notify機制實現list.size()等于5時的線程銷毀195
3.1.7 對業務代碼進行封裝198
3.1.8 線程狀態的切換201
3.1.9 wait()方法:立即釋放鎖202
3.1.10 sleep()方法:不釋放鎖203
3.1.11 notify()方法:不立即釋放鎖204
3.1.12 interrupt()方法遇到wait()方法206
3.1.13 notify()方法:只通知一個線程208
3.1.14 notifyAll()方法:通知所有線程211
3.1.15 wait(long)方法的基本使用212
3.1.16 wait(long)方法自動向下運行需要重新持有鎖214
3.1.17 通知過早問題與解決方法217
3.1.18 wait條件發生變化與使用while的必要性220
3.1.19 生產者/消費者模式的實現224
3.1.20 通過管道進行線程間通信—字節流250
3.1.21 通過管道進行線程間通信—字符流253
3.1.22 實現wait/notify的交叉備份256
3.2 join()方法的使用259
3.2.1 學習join()方法前的鋪墊259
3.2.2 join()方法和interrupt()方法出現異常261
3.2.3 join(long)方法的使用263
3.2.4 join(long)方法與sleep(long)方法的區別264
3.2.5 join()方法后面的代碼提前運行—出現意外 268
3.2.6 join()方法后面的代碼提前運行—解釋意外270
3.2.7 join(long millis, int nanos)方法的使用273
3.3 類ThreadLocal的使用273
3.3.1 get()方法與null274
3.3.2 類ThreadLocal存取數據流程分析275
3.3.3 驗證線程變量的隔離性277
3.3.4 解決get()方法返回null的問題282
3.3.5 驗證重寫initialValue()方法的隔離性283
3.4 類InheritableThreadLocal的使用284
3.4.1 類ThreadLocal不能實現值繼承285
3.4.2 使用InheritableThreadLocal體現值繼承特性286
3.4.3 值繼承特性在源代碼中的執行流程288
3.4.4 父線程有*新的值,子線程仍是舊值291
3.4.5 子線程有*新的值,父線程仍是舊值293
3.4.6 子線程可以感應對象屬性值的變化294
3.4.7 重寫childValue()方法實現對繼承的值進行加工297
3.5 本章小結298
第4章 Lock對象的使用299
4.1 使用ReentrantLock類299
4.1.1 使用ReentrantLock實現同步299
4.1.2 驗證多代碼塊間的同步性301
4.1.3 await()方法的錯誤用法與更正304
4.1.4 使用await()和signal()實現wait/notify機制307
4.1.5 await()方法暫停線程運行的原理309
4.1.6 通知部分線程—錯誤用法312
4.1.7 通知部分線程—正確用法314
4.1.8 實現生產者/消費者模式一對一交替輸出317
4.1.9 實現生產者/消費者模式多對多交替輸出319
4.1.10 公平鎖與非公平鎖321
4.1.11 public int getHoldCount()方法的使用324
4.1.12 public final int getQueue Length()方法的使用325
4.1.13 public int getWaitQueue-Length (Condition condition)方法的使用327
4.1.14 public final boolean has-QueuedThread (Thread thread)方法的使用328
4.1.15 public final boolean has-QueuedThreads()方法的使用329
4.1.16 public boolean hasWaiters (Con-dition condition)方法的使用331
4.1.17 public final boolean isFair()方法的使用332
4.1.18 public boolean isHeldBy-CurrentThread()方法的使用333
4.1.19 public boolean isLocked()方法的使用334
4.1.20 public void lockInterruptibly()方法的使用335
4.1.21 public boolean tryLock()方法的使用336
4.1.22 public boolean tryLock (long timeout, TimeUnit unit)方法的使用338
4.1.23 public boolean await (long time, TimeUnit unit)方法的使用339
4.1.24 public long awaitNanos(long nanosTimeout)方法的使用341
4.1.25 public boolean awaitUntil(Date deadline)方法的使用342
4.1.26 public void awaitUninterru-ptibly()方法的使用344
4.1.27 實現線程按順序執行業務346
4.2 使用ReentrantReadWriteLock類349
4.2.1 ReentrantLock類的缺點349
4.2.2 ReentrantReadWriteLock類的使用—讀讀共享351
4.2.3 ReentrantReadWriteLock類的使用—寫寫互斥352
4.2.4 ReentrantReadWriteLock類的使用—讀寫互斥352
4.2.5 ReentrantReadWriteLock類的使用—寫讀互斥354
4.3 本章小結355
第5章 定時器Timer356
5.1 定時器Timer的使用356
5.1.1 schedule(TimerTask task, Datetime)方法的測試356
5.1.2 schedule(TimerTask task, Date firstTime, long period)方法的測試366
5.1.3 schedule(TimerTask task, long delay)方法的測試374
5.1.4 schedule(TimerTask task, long delay, long period)方法的測試374
5.1.5 scheduleAtFixedRate (TimerTask task, Date firstTime, long period)方法的測試375
5.2 本章小結384
第6章 單例模式與多線程385
6.1 立即加載/餓漢模式385
6.2 延遲加載/懶漢模式387
6.2.1 延遲加載/懶漢模式解析387
6.2.2 延遲加載/懶漢模式的缺點388
6.2.3 延遲加載/懶漢模式的解決方案390
6.3 使用靜態內置類實現單例模式399
6.4 序列化與反序列化的單例模式實現400
6.5 使用static代碼塊實現單例模式402
6.6 使用enum枚舉數據類型實現單例模式404
6.7 完善使用enum枚舉數據類型實現單例模式405
6.8 本章小結407
第7章 拾遺增補408
7.1 線程的狀態408
7.1.1 驗證NEW、RUNNABLE和TERMINATED410
7.1.2 驗證TIMED_WAITING411
7.1.3 驗證BLOCKED412
7.1.4 驗證WAITING414
7.2 線程組415
7.2.1 線程對象關聯線程組:一級關聯416
7.2.2 線程對象關聯線程組:多級關聯417
7.2.3 線程組自動歸屬特性418
7.2.4 獲取根線程組419
7.2.5 線程組中加線程組420
7.2.6 組內的線程批量停止421
7.2.7 遞歸取得與非遞歸取得組內對象422
7.3 Thread.activeCount()方法的使用423
7.4 Thread.enumerate(Thread tarray[])方法的使用423
7.5 再次實現線程執行有序性424
7.6 SimpleDateFormat非線程安全426
7.6.1 出現異常426
7.6.2 解決異常的方法1428
7.6.3 解決異常的方法2430
7.7 線程中出現異常的處理431
7.
展開全部

Java核心技術系列JAVA多線程編程核心技術(第2版) 作者簡介

高洪巖,某世界500強項目經理,有10年Java相關開發經驗,精通Java語言,擅長J2EE、EJB、Android、報表和多線程,以及并發相關的技術內容,理論與實踐經驗頗豐。著有《Java多線程編程核心技術》《Java并發編程:核心方法與框架》《NIO與Socket編程技術指南》《Java EE核心框架實戰 第2版》《Jasper Reports iReport報表開發詳解》《Android學習精要》等書籍。

商品評論(0條)
暫無評論……
書友推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 【连江县榕彩涂料有限公司】官方网站 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 领先的大模型技术与应用公司-中关村科金| 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 烽火安全网_加密软件、神盾软件官网 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 北京燃气公司 用户服务中心| 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | POS机办理_个人pos机免费领取-银联pos机申请首页 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 |