原创 Centos7安裝docker

一、安裝環境配置 Centos7 64bit 系統內核3.10.0   docker官方說linux內核至少需要3.8以上。查看系統內核信息可在root用戶下執行以下任意一個命令: 1、uname -a 2、cat /proc

原创 Docker安裝mysql

一、安裝環境 宿主機器centos7 docker版本18.03.0-ce mysql版本5.7 二、安裝步驟 1、查找mysql鏡像   使用docker search命令查詢鏡像源中mysql相關鏡像。命令: docker

原创 RocketMQ、Kafka、RabbitMQ對比

一、優缺點 1、RabbitMQ   RabbitMQ 2007年發佈,是一個在AMQP(高級消息隊列協議)基礎上完成的,可複用的企業消息系統,是當前最主流的消息中間件之一。   RabbitMQ優點: 由於erlang語言的特

原创 【Java】十大經典排序算法(動圖演示)

一、算法概述 1、 算法分類   十種常見排序算法可以分爲兩大類: 比較類排序:通過比較來決定元素間的相對次序,由於其時間複雜度不能突破O(nlogn),因此也稱爲非線性時間比較類排序。 非比較類排序:不通過比較來決定元素間的相

原创 Druid連接池參數詳解

前言   Druid是阿里開源的一款數據庫連接池。在性能跟監控上都有良好的表現。 基本參數配置   通過閱讀DruidDataSource類源碼,可以配置連接池相關屬性。   配置解釋如下: 配置名稱配置說明默認值 name配

原创 Mysql鎖機制

一、Mysql鎖概述 1、鎖的分類   Mysql中鎖分爲3類:頁級鎖、表級鎖、行級鎖。   頁級鎖:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,併發度一般。會發生在:BDB存儲引擎。   表級鎖:開

原创 Java中與、或、異或、位運算

一、與(&)、或(|)、異或(^)運算 與運算 (&)) 規則 :針對二進制,都爲1時才爲1, 只要有一個爲0,就爲0。 或運算(|)規則:針對二進制,有一個爲1,則爲1 異或運算(^)規則:針對二進制,相同的爲0,不同的爲1

原创 JVM內存模型

一、JVM運行時數據區   JVM運行數據區主要包含:程序計數器、虛擬機棧、本地方法棧、堆、方法區。 1、程序計數器   程序計數器其實就是一小塊內存,記錄着當前程序運行到哪了字節碼解釋器的工作就是通過改變這個計數器的值來選取下

原创 HashMap實現原理(JDK8)

一、Map的整體結構概要 上述爲HashMap的內容結構,方法包含大部分常用的,沒有列舉完。 二、HashMap結構圖 1、JDK7及之前 2、JKD8及之後 由上面結構圖可知,HashMap由數組和鏈表共同構成,JDK8對

原创 SpringMVC工作原理與工作流程

一、SpringMVC工作原理圖 二、SpringMVC流程 1、 用戶發送請求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到請求調用HandlerMapping處理器映射器。 3

原创 MQ的高可用

前言   如果有人問到你 MQ 的知識,高可用是必問的。MQ 會導致系統可用性降低。所以只要你用了 MQ,接下來問的一些要點肯定就是圍繞着 MQ 的那些缺點怎麼來解決了。 RabbitMQ 的高可用性   RabbitMQ 是比較有代

原创 git中.gitignore文件忽略規則介紹以及不起作用解決辦法

忽略規則介紹   Git管理代碼的過程中,可以修改.gitignore文件中的標示的方法來忽略開發者想忽略掉的文件或目錄,如果沒有.gitignore文件,可以自己手工在工程根目錄下創建。在.gitignore文件中的每一行保存一個匹

原创 Spring Boot+Mybatis+sharding-jdbc實現數據庫讀寫分離

前言   本文主要分享spring boot工程使用mybatis和sharding-jdbc實現mysql數據庫的讀寫分離。   本文demo工程已上傳github:https://github.com/hubSKH/shardin

原创 Mysql主從複製配置

一、MySQL主從複製原理 MySQL主從複製(Master-Slave)與讀寫分離(MySQL-Proxy)實踐 Mysql作爲目前世界上使用最廣泛的免費數據庫,相信所有從事系統運維的工程師都一定接觸過。但在實際的生產環境中,由單臺