原创 Redis基本數據類型之List

List List是Redis的另一種基本數據類型,Redis中的List是以雙向鏈表形式存在的,key持有對鏈表頭元素和尾元素的索引。向雙向鏈表的頭部或尾部添加數據的時間複雜度是常數級別的。 基本命令 1.向列表中添加元素 既然

原创 初識Redis-安裝部署

什麼是Redis 官方定義: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache a

原创 併發編程的Bug源頭:可見性、原子性和有序性問題

學習極客時間上的《Java併發編程實戰》課程之餘,結合自己的理解整理一部分筆記以鞏固知識。 併發編程的起源 1.硬件設備發展的核心矛盾:CPU、內存、I/O設備三者間存在的速度差異。根據木桶原理,程序整體性能最終受制於速度最慢的I/O設備

原创 NIO簡單應用

NIO簡單應用 使用FileChannel完成文件複製 public class FileNIOCopyDemo { public static void main(String[] args) { nio

原创 Redis基本數據類型之String

Redis中的Key Redis中的key是二進制安全的,可以使用任意二進制序列作爲key,即如字符串或者圖片的內容都可以作爲key,注意:空字符串在Redis中也被認爲是有效的key。 key不宜過長,一是從存儲角度來講比較耗

原创 Kafka消息丟失與消費精確一次性

Kafka消息丟失與消費精確一次性 消息丟失 消息丟失的場景 生產者丟失數據 如果Kafka Producer使用“發後即忘”的方式發送消息,即調用producer.send(msg)方法來發送消息,方法會立即返回,但此時並

原创 《PostgreSQL修煉之道》讀書筆記 - PostgreSQL邏輯結構管理和核心架構

第六章 邏輯結構管理 6.9 索引 6.9.2 索引的分類 PostgreSQL支持以下幾類索引: B-tree:最常用,適合處理等值查詢和範圍查詢; Hash:只能處理簡單等值查詢; Gist:可用於圖形操作符; SP-GiS

原创 快速入門Kafka消費者

消費者與消費者組 消費者(Consumer)負責訂閱Kafka中的主題(Topic),並且從主題上拉取消息。Kafka中還存在消費者組(Consumer Group)的概念。每一個消費者都有一個對應的消費者組。當消息發佈到主題後,

原创 初次邂逅Kafka生產者

Kafka生產者 客戶端開發 客戶端開發一般包含以下幾個基本流程: 配置生產者客戶端參數及創建生產者實例; 構建待發送的消息; 發送消息; 關閉生產者實例。 示例代碼: public class KafkaProducerAn

原创 Java併發編程-解決可見性與有序性問題

從可見性與有序性問題的原因着手 導致可見性問題的原因是緩存,導致有序性問題的原因是編譯優化,那麼解決二者的最直接方法就是禁用緩存和編譯優化。但是這樣程序的性能將會受到很大程度降低。 這裏較爲合理的方案是按需禁用緩存和編譯優化。Java內存

原创 Spring學習筆記(二):bean的註冊加載

Spring學習筆記(二):bean的註冊加載 @Conditional條件註冊bean 場景:向IoC容器註冊bean時,當操作系統爲Windows時,註冊Sansa實例,當操作系統爲Linux時,註冊Rob實例。 解決方案:

原创 markdown編輯器使用手冊

這裏寫自定義目錄標題歡迎使用Markdown編輯器新的改變功能快捷鍵合理的創建標題,有助於目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPan

原创 Java併發編程-併發編程的Bug源頭:可見性、原子性和有序性問題

學習極客時間上的《Java併發編程實戰》課程之餘,結合自己的理解整理一部分筆記以鞏固知識。 併發編程的起源 1.硬件設備發展的核心矛盾:CPU、內存、I/O設備三者間存在的速度差異。根據木桶原理,程序整體性能最終受制於速度最慢的I/O設備