摘要:
volatile特性 內存可見性:通俗來說就是,線程A對一個volatile變量的修改,對于其它線程來說是可見的,即線程每次獲取volatile變量的值都是最新的。 volatile的使用場景 通過關鍵字sychronize可以防止多個線程進入同一段代碼,在某些特定場景中,volatile相當于一個 閱讀全文
posted @ 2019-01-25 16:22
He_quotes
閱讀(166)
評論(0)
推薦(0)
摘要:
餓漢法 顧名思義,餓漢法就是在第一次引用該類的時候就創建對象實例,而不管實際是否需要創建。代碼如下: 1 2 3 4 5 6 7 public class Singleton { private static Singleton = new Singleton(); private Singleto 閱讀全文
posted @ 2019-01-25 16:00
He_quotes
閱讀(203)
評論(0)
推薦(0)
摘要:
線程池介紹 在web開發中,服務器需要接受并處理請求,所以會為一個請求來分配一個線程來進行處理。如果每次請求都新創建一個線程的話實現起來非常簡便,但是存在一個問題: 如果并發的請求數量非常多,但每個線程執行的時間很短,這樣就會頻繁的創建和銷毀線程,如此一來會大大降低系統的效率??赡艹霈F服務器在為每個 閱讀全文
posted @ 2019-01-25 14:29
He_quotes
閱讀(349)
評論(0)
推薦(0)
摘要:
為什么用線程池? 1.創建/銷毀線程伴隨著系統開銷,過于頻繁的創建/銷毀線程,會很大程度上影響處-理效率 2.線程并發數量過多,搶占系統資源從而導致阻塞 3.對線程進行一些簡單的管理 在Java中,線程池的概念是Executor這個接口,具體實現為ThreadPoolExecutor類,學習Java 閱讀全文
posted @ 2019-01-25 14:20
He_quotes
閱讀(816)
評論(0)
推薦(0)
摘要:
本文關注以下幾點內容: 基本上本文把以上幾點都說清楚了,我假設讀者看過上一篇文章中對 AbstractQueuedSynchronizer 的介紹,當然如果你已經熟悉 AQS 中的獨占鎖了,那也可以直接看這篇。各小節之間基本上沒什么關系,大家可以只關注自己感興趣的部分。 公平鎖和非公平鎖 Condi 閱讀全文
posted @ 2019-01-25 12:17
He_quotes
閱讀(165)
評論(0)
推薦(0)
摘要:
BlockingQueue 開篇先介紹下 BlockingQueue 這個接口的規則,后面再看其實現。 首先,最基本的來說, BlockingQueue 是一個先進先出的隊列(Queue),為什么說是阻塞(Blocking)的呢?是因為 BlockingQueue 支持當獲取隊列元素但是隊列為空時, 閱讀全文
posted @ 2019-01-25 12:14
He_quotes
閱讀(233)
評論(0)
推薦(0)

浙公網安備 33010602011771號