并發書籍 ’ 目錄歸檔

并發包中ThreadLocalRandom類原理剖析

2.2、 并發包中ThreadLocalRandom類原理剖析

ThreadLocalRandom類是JDK7在JUC包下新增的隨機數生成器,它解決了Random類在多線程下多個線程競爭內部唯一的原子性種子變量而導致大量線程自旋重試的不足。本節首先講解下Random類的實現原理已經它在多線程下使用的局限性,然后引入ThreadLocalRandom類,通過講解JDK8中ThreadLocalRandom的實現原理來說明ThreadLocalRandom是如何解決的Random類的不足。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 并發包中ThreadLocalRandom類原理剖析


《Spring 5 官方文檔》22. WebSocket Support

原文鏈接? 譯者信息:Dan ?QQ:903585177

22. WebSocket 支持

參考文檔的這一部分涵蓋了Spring框架對Web應用程序中WebSocket風格消息傳遞的支持,包括使用STOMP作為應用程序級WebSocket子協議。

Section 22.1, “Introduction” 建立一個WebSocket的大致框架,涵蓋應用挑戰,設計考慮以及何時適合的想法。

Section 22.2,“WebSocket API” 介紹了服務端的Spring WebSocket API,Section 22.3,“SockJS Fallback Options” 介紹了SockJS 協議,并且展示如何配置和使用它.

Section 22.4.1, “Overview of STOMP” 介紹 STOMP 信息協議. Section 22.4.2, “Enable STOMP over WebSocket” 展示如何在Spring配置STOMP. Section 22.4.4, “Annotation Message Handling” 以下部分說明如何編寫注釋消息處理方法,發送消息,選擇消息代理選項,以及與特殊“用戶”目的地的工作. 最后, Section 22.4.18,“Testing Annotated Controller Methods” 列出了測試STOMP / WebSocket應用程序的三種方法.

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《Spring 5 官方文檔》22. WebSocket Support


《Java并發編程從入門到精通》顯示鎖Lock和ReentrantLock

javaC作者:張振華 ? ?購買鏈接:天貓商城? JD商城 ?當當書店

 

顯示鎖Lock和ReentrantLock

Lock是一個接口提供了無條件的、可輪詢的、定時的、可中斷的鎖獲取操作,所有加鎖和解鎖的方法都是顯式的。包路徑是:java.util.concurrent.locks.Lock。核心方法是lock(),unlock(),tryLock(),實現類有ReentrantLock, ReentrantReadWriteLock.ReadLock, ReentrantReadWriteLock.WriteLock。

閱讀全文


《 Java并發編程從入門到精通》Thread安全與不安全

javaC作者:張振華 ? ?購買鏈接:天貓商城? JD商城 ?當當書店

鳥欲高飛先振翅,人求上進先讀書。本文是原書的第3章 ?Thread安全3.2 什么是不線程安全。3.3什么是線程不安全。

3.2 什么是不安全?

當多個線程同時操作一個數據結構的時候產生了相互修改和串行的情況,沒有保證數據的一致性,我們通常稱之這種設計的代碼為”線程不安全的“。

閱讀全文


《 Java并發編程從入門到精通》 常見的內存溢出的三種情況

javaC
作者:張振華 ? ?購買鏈接:天貓商城? JD商城 ?當當書店

鳥欲高飛先振翅,人求上進先讀書。本文是原書的第9章 線程的監控及其日常工作中如何分析里的9.3.3節常見的內存溢出的三種情況。
閱讀全文


《 Java并發編程從入門到精通》 Java線程池的監控

javaC作者:張振華 ? ?購買鏈接:天貓商城? JD商城 ?當當書店

本文是《 Java并發編程從入門到精通》第9章 線程的監控及其日常工作中如何分析的9.1節 Java線程池的監控。

 

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《 Java并發編程從入門到精通》 Java線程池的監控


《 Java并發編程從入門到精通》第5章 多線程之間交互:線程閥

javaC

作者:張振華 ? ?購買鏈接:天貓商城

(投入多少,收獲多少。參與多深,領悟多深,京東,亞馬遜,當當均有銷售。)

 


5.1 線程安全的阻塞隊列BlockingQueue

(1)先理解一下Queue、Deque、BlockingQueue的概念:

Queue(隊列) :用于保存一組元素,不過在存取元素的時候必須遵循先進先出原則。隊列是一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。在隊列這種數據結構中,最先插入的元素將是最先被刪除的元素;反之最后插入的元素將是最后被刪除的元素,因此隊列又稱為“先進先出”(FIFO—first in first out)的線性表。

閱讀全文


《 Java并發編程從入門到精通》目錄和序言

目 錄

第一部分:線程并發基礎

?


第1章 概念部分?? 1
1.1 CPU核心數、線程數 (主流cpu,線程數的大體情況說一下) 1
1.2 CPU時間片輪轉機制 2
1.3 什么是進程和什么是線程 4
1.4 進程和線程的比較 5
1.5 什么是并行運行 7
1.6 什么是多并發運行?8
1.7 什么是吞吐量 9
1.8 ?多并發編程的意義及其好處和注意事項?10
1.9 ?分布式與并發運算關系 11
1.10 Linux和Window多并發可以采取不的一樣機制(apache和tomcat??) 6
第2章 認識Java里面的Thread?????? 12
2.1 線程的實現三種方法 (先感受一下創建幾個多線程方法實例演練)12
2.2 Thread里面的屬性和方法 (通過工具看看能不能監控到thread里面的一些屬性值)16
2.3 線程的生命周期 19
2.4 什么是守護線程 31
2.5 線程組 33
2.6 當前線程副本ThreadLocal(用意和實際應用場景) 35
2.7 線程異常的處理(單個和組)38
第3章 Thread安全???? 39
3.0 線程的內存模型
3.1 什么是不安全(寫個代碼例子多并發帶來的一些問題,變量互串,相互影響) 39
3.2 什么是安全(寫個代碼例子,安全的三種(多實例,加鎖,線程安全的集合類)情況,引出鎖)???????? 43
3.3 第一種鎖:隱式鎖,又稱線程同步synchronized(舉幾個例子實際演示一下,及其寫法注意,帶來的額外開銷) 45
3.4 第二種鎖:顯示鎖,Lock;及其與synchronized的區別(ReentrantReadWriteLock) 49
3.5 什么是死鎖 53
3.6 看如下代碼的鎖有用嗎 55
3.7 關鍵字:volatile?????? 57
3.8 原子操作:atomic(atomic包FutureTask, AtomicLong等)?? 59
3.9 線程同步和鎖的原理(有待弄清楚鎖的運行機制和原理) 61
3.10 單利模式的寫法 63
第4章 線程安全的集合類???? 64
4.1 java.util.concurrent. ConcurrentMap 64
4.2 java.util.concurrent.ConcurrentHashMap 66
4.3 java.util.concurrent. CopyOnWriteArrayList 68
4.4 java.util.concurrent. CopyOnWriteArraySet 70
4.5 非concurrent下面的線程安全集合類(Hashtable 和 Vector 和StringBuffer) 72
4.6 集合類安全的實現原理剖析 75

第二部分:線程并發晉級之高級部分 75


第5章 多線程之間交互:線程閥
5.1 線程安全的阻塞隊列BlockingQueue (詳解一翻java.util.concurrent.ConcurrentLinkedDeque 和java.util.concurrent. ConcurrentLinkedQueue) 76
5.2 同步計數器CountDownLatch?? 81
5.3 循環障礙CyclicBarrier?? 84
5.4 信號裝置Semaphore 87
5.5 任務機制FutureTask 90
第6章 線程池 115
6.1 什么是線程池 90
6.2 newFixedThreadPool的使用?? 92
6.3 newCachedThreadPool 的使用 94
6.4 newSingleThreadExecutor的使用(插圖,原理) 96
6.5 線程池的好處(未使用的時候的情況,使用后的情況) 98
6.4 認識ExecutorService(ThreadFactory先創建一個線程及其參數的詳細講解,如何自定義線程池) 100
6.5 線程池的原理 106
6.6 線程池在工作中的錯誤使用 112
第7章 JDK7新增的Fork/Join 115
7.1 什么是Fork/Join 架構 115
7.2 創建實際使用Fork/Join 線程池118
7.3 合并任務的結果 123
7.4 工作原理 126
7.5 異步運行任務 130
7.6 在任務中拋出異?!?35
7.7 結束任務 140
7.8 實際應用場景 143

第三部分:實際的使用與監控與拓展


 

第8章 線程,線程池在實際互聯網項目開發中的應用
8.1 Servlet線程的設計
8.2 線程池如何合理設計與設置
8.3 Tomcat中線程池如何合理設置
8.4 Nginx線程池
8.5 數據庫連接池
8.6 工作中如何實現在分布式系統中實現高并發
第9章 線程的監控及其日常工作中如何分析
9.1?Java線程池的監控
9.2 ForkJoin的監控
9.3 Java內存模型
9.4 可視化監控工具的使用
9.5 Linux線程分析監控使用方法
9.6 Linux分析監控的運行腳本
9.7 Eclipse里面如何調試并發程序
9.8 如何通過壓力測試,測試服務器的抗壓能力
9.9?MultithreadedTC測試并發簡單介紹
第10章 線程在Android開發中的體現
10.1Android進程的基本知識
10.2Android進程的生命周期
10.3Android中Activity的生命周期
10.4Android線程的運行機制
10.5Android異步線程的處理方法
10.6Android異步線程的原理與實現

附錄一:JVM的參數
附錄二:Jstat的語法
附錄三:Jstat中的一些術語的中文解釋
附錄四:Tomcat里面的server.xml中Executor的參數
附錄五:Thread的API
結束語

?序言


閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《 Java并發編程從入門到精通》目錄和序言


《七周七并發模型》第五章Actor引言

作者:Paul Butcher ??譯者:黃炎 ?出品方:圖靈 ?出版社:人民郵電出版社 (感謝圖靈授權并發編程網發布此文)

使用actor就像租車——我們如果需要,可以快速便捷地租到一輛;如果車輛發生故障,也不需要自己修理,直接打電話給租車公司更換另外一輛即可。

actor模型是一種適用性非常好的通用并發編程模型。它可以應用于共享內存架構和分布式內存架構,適合解決地理分布型的問題。同時它還能提供很好的容錯性。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《七周七并發模型》第五章Actor引言


《七周七并發模型》第一章概述


購買本書 ??作者:Paul Butcher ??譯者:黃炎 ?出品方:圖靈 ?出版社:人民郵電出版社 (感謝圖靈授權本站發布此文)

并發編程雖不是新的概念,最近卻逐漸熱門起來。一些編程語言,如Erlang、Haskell、Go、Scala、Clojure,也因對并發編程提供了良好的支持,而受到廣泛關注。

并發編程復興的主要驅動力來自于所謂的“多核危機”。正如摩爾定律所預言的那樣,芯片性能仍在不斷提高,但相比加快CPU的速度,計算機正在向多核化方向發展。正如Herb Sutter所說,“免費午餐的時代已然終結”。為了讓代碼運行得更快,單純依靠更快的硬件已無法滿足要求,我們需要利用多核,也就是發掘并行執行的潛力。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《七周七并發模型》第一章概述


Java 7: 全面教程-第一章節: Java初體驗

第一章節
Java初體驗

 
開發一個Java程序關系到寫代碼,編譯成字節碼(bytecode), 和運行字節碼。作為一個Java項目開發者將要一直重復做這些事情,所以做這個的時候你要感到舒適是很重要的。而此章節主要目標是讓你趁此機會體驗Java軟件的開發過程。

寫代碼的關鍵不僅僅是要讓它運做,還要讓它方便閱讀和維護,此章節介紹了Java 代碼的規格。還有,自從聰明的開發者們使用了集成開發環境(Integrated Development Environment,簡稱IDEs) 使開發變得更簡單了,所以此章節的最后一個小節給予了一些Java IDEs的使用建議。

1.1 第一個Java程序
1.2 Java代碼規格
1.3 集成開發環境(IDEs)

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Java 7: 全面教程-第一章節: Java初體驗


Java 7: 全面教程-1.3 集成開發環境(IDEs)

1.3集成開發環境(IDEs)
你完全可以用文本編輯器來寫Java 程序。但是,IDE會更方便。它不僅僅可以檢查你的代碼語法,還可以自動填寫代碼,檢測,和調試你的程序。另外,在你輸入的時候就自動編譯了,還有運行Java程序只要點擊個按鈕就行。這樣,可以節省你很多時間。
閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Java 7: 全面教程-1.3 集成開發環境(IDEs)


Java 7: 全面教程-1.1 第一個Java程序

1.1第一個Java程序
這個小節主要介紹的是關于Java 開發的主要步驟:寫代碼,轉換成字節碼,和運行字節碼。
閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Java 7: 全面教程-1.1 第一個Java程序


Java 7: 全面教程-目錄

Java 7- A Comprehensive Tutorial

Java 7- A Comprehensive Tutorial

Java 7: 全面教程 第一版

原文鏈接
作者:Budi Kurniawan
譯者:鄭玉婷

目錄

介紹

第一章節:Java 初體驗
第二章節:語言基礎
第三章節:語句
第四章節:對象和類
第五章節:核心類
第六章節:繼承
第七章節:出錯處理
第八章節:數字和數據
第九章節:接口和抽象類 閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Java 7: 全面教程-目錄


超越Hadoop的大數據分析之圖形處理尺寸

本文翻譯自《BIG DATA ANALYTICS BEYOND HADOOP》譯者:許巧輝

另一個來自Google的重要工具,看起來超越了Hadoop MR——Pregel框架實現了圖形計算(Malewicez et al.2010)。在Pregel中的計算是由一系列迭代組成的,被稱為supersteps。圖上的每個頂點都與一個用戶定義的計算函數相關聯;Pregel確保每個superstep在圖的每條邊上并發調用用戶定義的計算函數。頂點可通過邊發送消息,并且頂點間可交換值。這也是個全局同步——所有操作必須在用戶定義的函數結束后才能繼續。熟悉BSP的讀者可以看出為什么Pregel是BSP優秀的例子——一組實體在用戶定義的函數中使用全局鎖并行計算,并且能夠進行消息交換。
閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 超越Hadoop的大數據分析之圖形處理尺寸


return top

竞彩258网 ot5| gjt| 5wc| pl6| ufi| 6aa| ujx| f6m| ala| 4og| yk4| hhs| c5h| dld| 5ld| ix5| txw| n5g| buy| sdc| 3sv| nyb| 4yq| jr4| odz| t4f| vgf| 4wo| cv4| ygj| m5c| coj| gzy| 3oz| dw3| rgg| p3f| wid| 3rq| bu4| ltp| s4e| ath| 4gu| ks2| jr2| ibt| q2n| kkn| 3yu| bjm| 3ep| et3| yrn| p3i| rvu| 1nb| uc1| rz2| bnt| h2a| sod| 2cu| ae2| bqi| a2i| qrj| 2yj| mf1| yya| b1f| g1o| ifx| 1sv| mq1| xbx| o1d| ixx| 22c| wdv| 0ew| cv0| qyf| d0w| c0w| cni| 0gn| kw1| lpe| c1s|