ConcurrentHashMap和oscache等物件快取有何區別
最近我做了個測試,測試結果如下:
在IBM筆記本T61下測試
啟5個執行緒往Hashtable和ConcurrentHashMap裡面寫資料。每個執行緒併發隨機寫100,000個資料到Hashtable和ConcurrentHashMap裡(鍵值是Integer),上一過程完成之後啟5個執行緒併發隨機從Hashtable和ConcurrentHashMap裡(鍵值是Integer)讀資料,每個執行緒讀100,000條。
這一過程十次測試平均時間如下:
The average time(Run 10times) of ConcurrentHashMap is :690ms
The average time(Run 10times) of Hashtable is :834ms
結論:ConcurrentHashMap比Hashtable效能最佳化20.8%。
等存入過程完成之後,啟100個執行緒併發隨機從Hashtable和ConcurrentHashMap裡(鍵值是Integer)讀資料,每個執行緒讀100,000條。
這一過程十次測試平均時間如下:
The average time(Run 10times) of concurrentHashMap is :2721
The average time(Run 10times) of Hashtable is :5870
結論:ConcurrentHashMap比Hashtable效能最佳化115.7%。
與大家分享下
疑問:
我理解的也可以把資料庫中表以物件形式存入ConcurrentHashMap中可以看作是物件快取嗎?,那oscache等開源快取記憶體只在分散式上有優勢嗎?比如幾個JVM共用一個快取? 請幫我解釋下,謝謝!
在IBM筆記本T61下測試
啟5個執行緒往Hashtable和ConcurrentHashMap裡面寫資料。每個執行緒併發隨機寫100,000個資料到Hashtable和ConcurrentHashMap裡(鍵值是Integer),上一過程完成之後啟5個執行緒併發隨機從Hashtable和ConcurrentHashMap裡(鍵值是Integer)讀資料,每個執行緒讀100,000條。
這一過程十次測試平均時間如下:
The average time(Run 10times) of ConcurrentHashMap is :690ms
The average time(Run 10times) of Hashtable is :834ms
結論:ConcurrentHashMap比Hashtable效能最佳化20.8%。
等存入過程完成之後,啟100個執行緒併發隨機從Hashtable和ConcurrentHashMap裡(鍵值是Integer)讀資料,每個執行緒讀100,000條。
這一過程十次測試平均時間如下:
The average time(Run 10times) of concurrentHashMap is :2721
The average time(Run 10times) of Hashtable is :5870
結論:ConcurrentHashMap比Hashtable效能最佳化115.7%。
與大家分享下
疑問:
我理解的也可以把資料庫中表以物件形式存入ConcurrentHashMap中可以看作是物件快取嗎?,那oscache等開源快取記憶體只在分散式上有優勢嗎?比如幾個JVM共用一個快取? 請幫我解釋下,謝謝!
相關文章
- Cache和Buffer都是快取,有什麼區別?Linux快取Linux
- laravel/laravel和laravel/framework有何區別?LaravelFramework
- EMR和ERP有何區別(轉)
- 快取穿透、快取擊穿、快取雪崩區別快取穿透
- (轉)在Spring框架中使用OSCache快取Spring框架快取
- 超外差和超再生模組有何區別?
- 使用ConcurrentHashMap實現快取HashMap快取
- HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap區別HashMap
- ConcurrentHashMap和HashMap的一點區別HashMap
- File、Blob、ArrayBuffer等檔案類的物件有什麼區別和聯絡物件
- @AutoConfigurationPackage 和 @ComponentScan 有何區別?Package
- 住宅IP和資料中心IP有何區別?
- 在Linux中,Jail和Chroot有何區別?LinuxAI
- Redis的快取穿透、快取雪崩、快取擊穿的區別Redis快取穿透
- 快取穿透、快取擊穿、快取雪崩區別和解決方案快取穿透
- OSCache叢集環境下快取同步的問題快取
- Mybatis 一級快取和二級快取原理區別 (圖文詳解)MyBatis快取
- 伺服器和虛擬主機有何區別伺服器
- DOM 精通了?請問 Node 和 Element 有何區別?
- DOM 精通了?請問 Node 和 Elment 有何區別?
- ConcurrentHashMap HashMap HashTable區別HashMap
- TDengine 3.0 的 Update 有何區別?
- 區別 Jquery物件和Dom物件jQuery物件
- 快取和web快取分別是什麼?快取Web
- 伺服器領域,Linux和Windows有何區別?伺服器LinuxWindows
- Python和Matlab有何區別?哪個更難?PythonMatlab
- Tomcat、Nginx和Apache有何區別?Linux如何學?TomcatNginxApacheLinux
- Linux中fork和exec是什麼?有何區別?Linux
- 繞線電感和疊層電感有何區別
- 在Linux中,Linux核心和Shell有何區別?Linux
- 在K8S中,Deployment和Statefulset有何區別?K8S
- 分散式系統關注點(18)——「快取穿透」和「快取雪崩」到底啥區別?分散式快取穿透
- HashTable與ConcurrentHashMap的區別HashMap
- HashMap、HashTable、ConcurrentHashMap的區別HashMap
- SQL JOIN 中 on 與 where 有何區別SQL
- 對於前端快取的理解(快取機制和快取型別)前端快取型別
- 在資料科學方面,python和R有何區別?資料科學Python
- HTML 裡 img 元素的 src 和 srcset 屬性有何區別?HTML