原创 RabbitMQ基礎組件介紹

RabbitMQ採用Erlang語言開發 概念 生產者(producer):創建消息,發佈到代理服務器(Message Broker)。 消費者(consumer):消費消息 代理服務器(Message Broker):接收和

原创 面試題之Rabbitmq的集羣鏡像

RabbitMQ集羣高可用 RabbitMq集羣模式分爲兩種:普通集羣;鏡像集羣模式 普通集羣模式 多臺機器上啓動多個RabbitMQ實例,每個實例中的exchange和queue都包含meta、contents、state等信息

原创 RabbitMQ消息可靠投遞

RabbitMQ 可靠投遞

原创 Mysql Innodb事務管理

事務的基本要素(ACID) 原子性(Atomicity):事務開始後的所有操作,要麼全部做完,要麼全部不做。事務執行過程中出錯,會回滾到事務開始前的狀態 一致性(Consistency):數據開始前和結束後,數據庫的完整性約束沒

原创 Mysql爲什麼選擇B+Tree索引

索引是什麼 索引是加快數據檢索,而創建的一種分散存儲的數據結構 索引的選擇 上面提到索引是一種數據結構,常用的數據結構包括數組、哈希表、樹(樹又包含了二叉樹查找樹、紅黑樹、B Tree、B+Tree)等。爲什麼Mysql索引使用了

原创 面試問題之Mysql InnoDB引擎 行鎖變表鎖

鎖機制 Mysql鎖分爲表鎖和行鎖,表鎖雖然開銷小,鎖錶快,但高併發下性能低。行鎖雖然開銷大,鎖錶慢,但是併發性能高。InnoDB採用的行鎖,支持事務;MyISAM採用表鎖不支持事務 InnoDB行鎖會變表鎖嗎? 案例分析: 創建

原创 JDK1.8 HashMap原理實現

前言 HashMap應該算是Java後端工程師面試的必問題,因爲其中的知識點太多,很適合用來考察面試者的Java基礎。 JDK1.8版本 HashMap的內部數據結構 1、HashMap採用數組和鏈表(紅黑樹)的結構 2、Has

原创 面試問題之Mysql like索引失效

like 索引使用 大家Mysql索引有最左原則,所以通過 like '%XX%'查詢的時候會造成索引失效,一般採用like 'XX%'右邊匹配的方式來索引。但是這樣一定會使用索引不 like 使用 創建SQL CREATE TA

原创 Mysql 索引的創建和注意事項

索引創建 索引的創建遵循一個原則,列的離散型越高,選擇性就越好 主鍵索引(聚集索引) MySql中默認主鍵就是聚集索引,如果不指定主鍵的話,Mysql內部會創建一個隱藏的聚集索引。 ALTER TABLE `table_nam

原创 HTTPS原理看了很多,這個是最清晰的

隨着 HTTPS 建站的成本下降,現在大部分的網站都已經開始用上 HTTPS 協議。 大家都知道 HTTPS 比 HTTP 安全,也聽說過與 HTTPS 協議相關的概念有 SSL 、非對稱加密、 CA 證書等。 但對於以下靈魂三拷

原创 SpringBoot自動裝配實現

1. SpringBoot使用 Spring Boot的出現,得益於“習慣優於配置”的理念,沒有繁瑣的配置、難以集成的內容(大多數流行第三方技術都被集成),這是基於Spring 4.x提供的按條件配置Bean的能力。 Spring

原创 Mysql Innodb事務

事務的基本要素(ACID) 原子性(Atomicity):事務開始後的所有操作,要麼全部做完,要麼全部不做。事務執行過程中出錯,會回滾到事務開始前的狀態 一致性(Consistency):數據開始前和結束後,數據庫的完整性約束沒

原创 Spring註解事務和聲明式事務同時使用

Spring xml和註解混用,方法的事物既有註解方式@Transactional()、又有xml的方式 <!-- 配置事務管理器類 --> <bean id="txManager" class="org.springfr

原创 一針見血 ThreadLocal

一針見血 ThreadLocal

原创 Java8 JVM內存模型

4### 一、JDK1.8 JVM內存模型 二、各區域介紹 1、程序計數器 指向當前線程正在執行的字節碼指令的行號(地址) 2、本地方法棧 爲虛擬機使用的Native方法服務 3、虛擬機棧 每個Java方法在被調用的時候都會創建