原创 消息中間件之RabbitMQ基礎

消息中間件之RabbitMQ基礎 一、RabbirMQ介紹 RabbitMQ使用Erlang語言開發,支持的併發量不大,適用於中小企業使用,併發量不是很大。 RabbitMQ是一個在AMQP基礎上實現的,可複用的企業消息系統。它可

原创 Rust之入門簡介

Rust之入門簡介 1. 入門指南 1.1. 安裝 第一步是安裝Rust。我們將通過rustup命令行工具Rust來下載Rust,該命令行工具用於管理Rust版本和相關工具,需要聯網下載。 以下步驟將安裝Rust編譯器的最新穩定版

原创 Springboot之驗證碼配置

Springboot之驗證碼配置 一、引入依賴 <!-- 驗證碼 --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha

原创 Redis之RedisCluster集羣

Redis之Redis Cluster的使用 一、Redis Cluster 簡介 Redis Sentinel 水平擴容一直都是一個痛點,因爲水平擴容牽涉到數據的遷移。遷移過程一方面要保證自己的業務是可用的,一方面要保證儘量不丟

原创 Docker安裝Elasticsearch、elasticsearch-head、ik

第一部分:Docker安裝Elasticsearch 1. 拉取elasticsearch鏡像 # 搜索鏡像 [root@long ~]# docker search elasticsearch NAME

原创 Springboot文件上傳和下載

文件配置 server: # 文件上傳 servlet: multipart: enabled: true file-size-threshold: 2KB max-file-s

原创 Springboot之日誌處理

Springboot之日誌處理 一、使用log4j2進行日誌管理 1. log4j2日誌管理框架的簡介 Log4j2是log4j 1.x和logback的改進版,據說採用了一些新技術(無鎖異步、等等),使得日誌的吞吐量、性能比lo

原创 SpringBoot之自定義Starter

Springboot之自定義Starter 一、簡介 Springboot中包含很多starter(啓動器),來對應不同的使用場景,大大簡化了我們日常使用的技術整合難度,只需要簡單的配置就可以使用各種場景。但是Springboot

原创 集合框架之LinkedList源碼分析

集合框架之LinkedList源碼分析 一、簡述 LinkedList是Java集合中一個全能的結構,底層採用了雙向鏈表結構。和ArrayList也支持空值和重複值,但是使用鏈表實現,在插入元素效率高,但是遍歷查詢效率比較低。 L

原创 集合框架之ArrayList源碼分析

集合框架之ArrayList源碼分析 一、繼承結構 ArrayList中繼承實現是這樣的public class ArrayList<E> extends AbstractList<E> implements List<E>,

原创 Redis之持久化與一致性

Redis之持久化與一致性 一、 對象序列化 1.1. 將對象轉成JSON字符串 創建一個實體類: @Data public class UserEntity { private String name; priv

原创 Redis之Centos與Docker安裝配置

Redis之環境安裝 一、Redis簡介 Redis是一個開放源代碼(BSD許可)的內存中數據結構存儲,用作數據庫,緩存和消息代理。它支持數據結構,例如字符串,哈希,列表,集合,帶範圍查詢的排序集合,位圖,超日誌,帶有半徑查詢和流

原创 SpringShell之使用簡介

一、什麼是Spring Shell ? Spring Shell允許人們輕鬆創建這樣的可運行應用程序,用戶將在其中輸入文本命令,這些命令將被執行直到程序終止。Spring Shell項目提供了創建此類REPL(讀取,評估,打印循環

原创 Redis之集羣高可用與安全控制

Redis之集羣高可用和安全控制 一、Redis的主從複製 1.1. 爲什麼使用主從 單個Redis如果因爲某種原因宕機的話,可能會導致Redis服務不可用,可以使用主從複製實現一主多從,主節點負責寫的操作,從節點負責讀的操作,主

原创 Go編程之基礎語法

Go之基礎語法 一、變量定義 方式一:先定義變量名,在定義類型。 var a int 方式二: 可以爲變量賦初值 var a int = 4 方式三:定義多個變量 var a, b int = 3, 4 方式四:Go可以自動