hashtable synchronizedmap synchronizedset 被淘汰的容器,在jdk中僅僅為相容低版本而存在,不建議使用
copyonwritemap copyonwritearrayset 適用於讀併發遠超過寫併發的場景
concurrenthashmap concurrenthashmap#newkeyset 底層基於陣列+鍊錶|紅黑樹,在容器1000寫20讀120的高併發場景下,效能仍然能達到10ns-
nonblockinghashmap nonblockinghashset jctools中提供的非阻塞的執行緒安全的map和set,號稱效能優於concurrenthashmap,但考慮到 concurrenthashmap在高併發場景下仍能保證10ns-的讀寫速度,足以應對絕大多數的業務場景。當然jctools 在netty, reactor等追求速度的框架中大量使用,也從側面驗證了業界大牛對jctools的認可,可根據業務場景選擇使用。
在使用concurrenthashmap時,部分框架傾向於在讀操作頻繁時,執行緒內使用hashmapmap = new hashmap(concurrenthashmap),轉而對區域性hashmap進行get操作,實測發現意義不大,concurrenthashmap.get併發操作效能同樣優秀
技術選型 spring boot
參考部落格 官網 7天學會spring cloud教程 講解清晰的文章 服務註冊於發現!spring cloud教程之使用spring boot建立乙個應用 使用spring cloud實現分布式配置管理 spring cloud實現服務註冊及發現 綜合使用spring cloud技術實現微服務應用...
技術選型 spring boot
參考部落格 官網 7天學會spring cloud教程 講解清晰的文章 服務註冊於發現!spring cloud教程之使用spring boot建立乙個應用 使用spring cloud實現分布式配置管理 spring cloud實現服務註冊及發現 綜合使用spring cloud技術實現微服務應用...
聊聊技術選型
如何選擇新的技術棧幾乎所有團隊都經歷過技術選型問題,不管是大層面的基礎設施選型,還是小到第三方服務的使用,開源專案百花齊放的今天,相同問題往往不止一種解決方案。如何才能正確選擇,少挖坑,是件有趣的事情。業務,團隊成員,技術技術選型其實並非乙個單純的技術問題,相反技術平台本身的考量往往是放在最後面的。...