原文:面試連環炮系列(九):為什么ConcurrentHashMap是線程安全的

為什么ConcurrentHashMap是線程安全的 JDK . 中,ConcurrentHashMap使用的鎖分段技術,將數據分成一段一段的存儲,然后給每一段數據配一把鎖,當一個線程占用鎖訪問其中一個段數據的時候,其他段的數據也能被其他線程訪問。 那說說JDK . 中Segment的原理 剛剛說的一段一段就是指Segment,它繼承了ReentrantLock,具備鎖和釋放鎖的功能。Concu ...

2019-09-27 16:11 0 747 推薦指數:

查看詳情

面試連環系列(三):synchronized怎么用的

synchronized怎么用的? 用過,synchronized是常用的並發控制關鍵字,簡單的說就是訪問加鎖。它可以修飾靜態方法或者一個類的class對象,這叫類鎖;可以修飾普通方法或者代碼塊,這叫對象鎖。 synchronized是可重入鎖嗎? 從互斥鎖的設計上來說,當一個線程 ...

Thu Sep 05 00:38:00 CST 2019 0 419
面試連環系列匯總

Java 面試連環系列(三):synchronized怎么用的 面試連環系列(七):HashMap的put操作做了什么 面試連環系列(八):服務器CPU飆升100%怎么排查 面試連環系列(九):為什么ConcurrentHashMap線程安全面試連環系列(十 ...

Wed Oct 09 00:08:00 CST 2019 0 718
面試連環系列(十六):線程池的使用場景有哪些

線程池的使用場景有哪些 線程池適合單系統的大量的異步任務處理,比如發送短信、保存日志。 說說創建線程池的重要參數 corePoolSize:線程池的大小。線程池創建之后不會立即去創建線程,而是等待線程的到來。當前執行的線程數大於該值時,線程會加入到緩沖隊列 ...

Sun Oct 13 00:04:00 CST 2019 0 923
面試連環系列(五):你們的項目為什么要用RabbitMQ

你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先 ...

Fri Sep 06 01:24:00 CST 2019 0 641
面試連環系列(十):一個線程調用兩次start會怎么樣

一個線程調用兩次start會怎么樣 Java的線程是不允許啟動兩次的,第二次調用必然會拋出IllegalThreadStateException,這是一種運行時異常。 談談線程的生命周期和狀態轉移 新建(NEW),表示線程被創建出來還沒真正啟動的狀態,可以認為它是 ...

Sat Sep 28 18:32:00 CST 2019 0 341
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM