Java 經典面試題:為什麼 ConcurrentHashMap 的讀操作不需要加鎖?
ConcurrentHashMap的簡介 get操作原始碼 volatile登場 是加在陣列上的volatile嗎? 用volatile修飾的Node 總結 我們知道,ConcurrentHashmap(1.8)這個併發集合框架是執行緒安全...
ConcurrentHashMap的簡介 get操作原始碼 volatile登場 是加在陣列上的volatile嗎? 用volatile修飾的Node 總結 我們知道,ConcurrentHashmap(1.8)這個併發集合框架是執行緒安全...
面試的時候,面試官問:使用者在電商網站中購買成功了,那麼它在微服務中經歷了什麼?你該如何作答? 當我傻啊,使用者在電商網站購買成功,還在微服務中,那肯定就是有一套微服務架構的電商系統。 設計一套電商系統還不簡單?簡單想象一下,既...
一、前言 1、開發工具及系統環境 2、專案目錄結構 二、搭建步驟 1、建立父工程 2、建立子模組 3、執行專案 4、配置模組間的依賴關係 5、web層呼叫biz層介面測試 6、整合Mybatis 四、總結 五、未提到的坑 一、前言 最近公司...
摘要: 原創出處 http://www.iocoder.cn/SkyWalking/collector-remote-module/ 「芋道原始碼」歡迎轉載,保留摘要,謝謝! 本文主要基於 SkyWalking 3.2.6 正式版 1. 概...
最近網上出現一個美團面試題:“一個執行緒OOM後,其他執行緒還能執行嗎?”。我看網上出現了很多不靠譜的答案。這道題其實很有難度,涉及的知識點有jvm記憶體分配、作用域、gc等,不是簡單的是與否的問題。 由於題目中給出的OOM,java中OO...
前言 可靠性 程式碼實現 元件依賴 加鎖程式碼 解鎖程式碼 總結 本部落格使用第三方開源元件Jedis實現Redis客戶端,且只考慮Redis服務端單機部署的場景。 前言 分散式鎖一般有三種實現方式:1. 資料庫樂觀鎖;2. 基於Redis的分散式...
JRebel for IntelliJ .ignore CamelCase Lombok plugin Mybatis plugin codehelper.generator GsonFormat GenerateAllSetter Cod...
從一個 Bug 說起 重現一下那個 Bug 重新認識一下 Gson 總結一下 從一個 Bug 說起 不知道你們發現沒有,你寫完的程式無論當時怎麼測試,過一段時間總會出 Bug 。再說一個每天都在發生的例子:在你寫完一篇部落格後,立即檢查的話,...
發展史 Cookie Session Token Token的起源 基於伺服器的驗證 基於伺服器驗證方式暴露的一些問題 基於Token的驗證原理 Tokens的優勢 發展史 1、很久很久以前,Web 基本上就是檔案的瀏覽而已, 既然是瀏覽,...
第一部分:調優索引速度 第二部分-調優搜尋速度 第三部分:通用的一些建議 英文原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/how-to.html ES...