原创 Redis學習(二)——事務

文章目錄事務什麼是事務事務的基本操作事務工作流程事務的注意事項手動進行事務回滾具有特定條件的事務執行鎖業務場景業務分析解決方案——鎖分佈式鎖業務場景業務分析解決方案——分佈式鎖分佈式鎖改良業務場景業務分析解決方案——分佈式鎖改良

原创 Redis持久化學習

文章目錄Redis簡介Nosql解決方案RedisRedis的應用Redis持久化持久化簡介什麼是持久化爲什麼要進行持久化持久化的兩種方式RDBRDB啓動方式命令執行:save指令save指令相關配置save指令工作原理後臺執行—

原创 【Java併發】synchronized原理分析

synchronized使用 synchronized能夠保證再同一時刻最多隻有一個線程執行該段代碼,以達到保證併發安全的效果。 synchronized (鎖對象) { // 受保護資源 } synchronized與原

原创 Netty中Http客戶端、服務端的編解碼器

Netty中Http客戶端、服務端的編解碼器 作爲服務端而言: 主要工作就是接收客戶端請求,將客戶端的請求內容解碼;發送響應給客戶端,並將發送內容編碼 所以,服務端需要兩個編解碼器 HttpRequestDecoder (將請求

原创 併發編程中存在的三個問題

併發編程中存在的三個問題:原子性、可見性、有序性,這三個問題都會導致獲取共享數據出錯,產生併發問題 原子性 原子性(Atomicity):在一次或多次操作中,要麼所有的操作都執行並且不會受其他因素干擾而中斷,要麼所有的操作都不執

原创 【Java容器】HashMap源碼分析(一)

本文爲JDK1.8的HashMap源碼分析 HashMap特點 允許空鍵和空值 不保證映射順序,輸出的順序和輸入時的不相同(如果要保證相同,可以選擇LinkedHashMap) 儘可能的將元素平均分散在桶裏( “bucket

原创 Java容器介紹

一、分類 容器主要包含 Collection 和 Map,Collection 存儲的是對象集合(單個對象),而 Map 存儲的是鍵值對(兩個對象)的映射表。 Collection Set:無順序,元素不可重複。 List:有

原创 【劍指 Offer 題解】44. 數字序列中的某一位數字

題目 數字以 0123456789101112131415… 的格式序列化到一個字符串中,求這個字符串的第 index 位。 思路 一個數字一個數字遍歷,記錄當前數字在字符串的下標。 public int getDigitAt

原创 【劍指 Offer 題解】42. 連續子數組的最大和

題目 {6, -3, -2, 7, -15, 1, 2, 2},連續子數組的最大和爲 8(從第 0 個開始,到第 3 個爲止)。 思路 dp[i] 表示以i結尾的連續子數組的最大和(連續子數組的結尾是i) dp[i] = dp[

原创 【劍指 Offer 題解】46. 把數字翻譯成字符串

題目 給定一個數字,按照如下規則翻譯成字符串:0翻譯成“a”,1翻譯成“b”…25翻譯成“z”。一個數字有多種翻譯可能,例如12258一共有5種,分別是bccfi,bwfi,bczi,mcfi,mzi。實現一個函數,用來計算一個數