原创 SpringBoot熱部署原理

spring-boot-devtools 是一個爲開發者服務的一個模塊,其中最重要的功能就是自動應用代碼更改到最新的App上面去。原理是在發現代碼有更改之後,重新啓動應用,但是速度比手動停止後再啓動還要更快,更快指的不是節省出來的

原创 RocketMQ學習筆記(十二)

樣例 1 基本樣例 在基本樣例中我們提供如下的功能場景: 使用RocketMQ發送三種類型的消息:同步消息、異步消息和單向消息。其中前兩種消息是可靠的,因爲會有發送是否成功的應答。 使用RocketMQ來消費接收到的消息。

原创 RocketMQ學習筆記(十一)

運維管理 1 集羣搭建 1.1 單Master模式 這種方式風險較大,一旦Broker重啓或者宕機時,會導致整個服務不可用。不建議線上環境使用,可以用於本地測試。 1)啓動 NameServer ### 首先啓動Name S

原创 RocketMQ學習筆記(十)

特性(features) 1 訂閱與發佈 消息的發佈是指某個生產者向某個topic發送消息;消息的訂閱是指某個消費者關注了某個topic中帶有某些tag的消息,進而從該topic消費數據。 2 消息順序 消息有序指的是一類消息消

原创 RocketMQ學習筆記(九)

設計(design) 1 消息存儲 消息存儲是RocketMQ中最爲複雜和最爲重要的一部分,本節將分別從RocketMQ的消息存儲整體架構、PageCache與Mmap內存映射以及RocketMQ中兩種不同的刷盤方式三方面來分

原创 RocketMQ學習筆記(六)

架構設計 1 技術架構 RocketMQ架構上主要分爲四部分,如上圖所示: Producer:消息發佈的角色,支持分佈式集羣方式部署。Producer通過MQ的負載均衡模塊選擇相應的Broker集羣隊列進行消息投遞,投遞的過

原创 RocketMQ學習筆記(七)

最佳實踐 1 生產者 1.1 發送消息注意事項 1 Tags的使用 一個應用儘可能用一個Topic,而消息子類型則可以用tags來標識。tags可以由應用自由設置,只有生產者在發送消息設置了tags,消費方在訂閱消息時纔可

原创 RocketMQ學習筆記(八)

基本概念 1 消息模型(Message Model) RocketMQ主要由 Producer、Broker、Consumer 三部分組成,其中Producer 負責生產消息,Consumer 負責消費消息,Broker 負責存

原创 RocketMQ學習筆記(五)

消息軌跡 1. 消息軌跡數據關鍵屬性 Producer端 Consumer端 Broker端 生產實例信息 消費實例信息 消息的Topic 發送消息時間 投遞時間,投遞輪次 消息存儲位置 消息是否發送成功

原创 HashMap

創建Map接口 public interface ExtMap<K, V> { // 向集合中插入數據 public V put(K k, V v); // 根據k 從Map集合中查詢元素 public V get(K k);

原创 基於SpringBoot2.0版本框架-引入&Web開發組件

一、 Spring介紹 1.1、SpringBoot簡介 在您第1次接觸和學習Spring框架的時候,是否因爲其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反覆黏貼的配置有一些厭煩?那麼您就不妨來試試使用

原创 Java集合框架

集合框架介紹 說明:對於以上的框架圖有如下幾點說明 1.所有集合類都位於java.util包下。Java的集合類主要由兩個接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,這兩

原创 Mybatis框架

接口層-和數據庫交互的方式 MyBatis和數據庫的交互有兩種方式: 使用傳統的MyBatis提供的API; 使用Mapper接口; 使用Mapper接口 MyBatis 將配置文件中的每一個 節點抽象爲一個 Mapper 接口:

原创 Map框架

HashMap的介紹 HashMap的實現原理 從底層結構、put和get方法、hash數組索引、擴容機制等幾個方面來分析HashMap的實現原理: 底層結構 HashMap的底層結構是由數組+鏈表構成的。 數組(紫色):has

原创 SpringIOC原理

XML技術 什麼是XML 它是可擴展標記語言(Extensible Markup Language,簡稱XML),是一種標記語言。 XML 全稱爲可擴展的標記語言。主要用於描述數據和用作配置文件。 XML 文檔在邏輯上主要由一下