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共用一個快取? 請幫我解釋下,謝謝!
相關文章
- @AutoConfigurationPackage 和 @ComponentScan 有何區別?Package
- Cache和Buffer都是快取,有什麼區別?Linux快取Linux
- 快取穿透、快取擊穿、快取雪崩區別快取穿透
- 使用ConcurrentHashMap實現快取HashMap快取
- 在Linux中,Jail和Chroot有何區別?LinuxAI
- File、Blob、ArrayBuffer等檔案類的物件有什麼區別和聯絡物件
- 快取穿透、快取擊穿、快取雪崩區別和解決方案快取穿透
- Redis的快取穿透、快取雪崩、快取擊穿的區別Redis快取穿透
- 在Linux中,Linux核心和Shell有何區別?Linux
- 住宅IP和資料中心IP有何區別?
- Tomcat、Nginx和Apache有何區別?Linux如何學?TomcatNginxApacheLinux
- Python和Matlab有何區別?哪個更難?PythonMatlab
- Mybatis 一級快取和二級快取原理區別 (圖文詳解)MyBatis快取
- 伺服器領域,Linux和Windows有何區別?伺服器LinuxWindows
- 伺服器和虛擬主機有何區別伺服器
- DOM 精通了?請問 Node 和 Elment 有何區別?
- DOM 精通了?請問 Node 和 Element 有何區別?
- Linux中fork和exec是什麼?有何區別?Linux
- HashTable與ConcurrentHashMap的區別HashMap
- HashMap、HashTable、ConcurrentHashMap的區別HashMap
- 快取和web快取分別是什麼?快取Web
- 分散式系統關注點(18)——「快取穿透」和「快取雪崩」到底啥區別?分散式快取穿透
- 什麼是ConcurrentHashMap?不同JDK下ConcurrentHashMap的區別?HashMapJDK
- TDengine 3.0 的 Update 有何區別?
- 在資料科學方面,python和R有何區別?資料科學Python
- 在K8S中,Deployment和Statefulset有何區別?K8S
- 對於前端快取的理解(快取機制和快取型別)前端快取型別
- 集合類HashMap,HashTable,ConcurrentHashMap區別?HashMap
- 驍龍710和驍龍845區別對比 高通驍龍710和845有何區別
- SQL JOIN 中 on 與 where 有何區別SQL
- HTML 裡 img 元素的 src 和 srcset 屬性有何區別?HTML
- DNS欺騙和ARP欺騙是什麼?有何區別?DNS
- Python32位和64位有何區別?如何檢視?Python
- HashMap、Hashtable、ConcurrentHashMap的原理與區別HashMap
- 例項物件和函式物件的區別物件函式
- const char*, char const*, char*const 有何區別?
- 雲伺服器和傳統伺服器相比有何區別伺服器
- Jtti:伺服器與資料庫有何區別和聯絡?Jtti伺服器資料庫
- 什麼是滲透測試和安全測試,有何區別?