原创 【高併發】03 原子性 Atomic包

一 Atomic包 1、CAS Unsafe.compareAndSwapInt 2、AtomicLong LongAdder 3、AtomicReference 、AtomicReferenceFieldUpdater pac

原创 【編程思想】03 編寫高質量代碼、Java 開發中通用的方法和準則

11、養成良好習慣,顯式聲明UID 介紹 a: 類實現Serializable接口的目的是爲了可持久化,比如網絡傳輸或本地存儲,爲系統的分佈和異構部署提供先決支持條件。 b:JVM在反序列化時,會比較數據流中的ser

原创 Redis學習筆記九、Key的命名規範

一、什麼要規範 1、爲了更好地進行命令空間的區分,Key會有很多的層次間隔,就像一棵目錄樹一樣。 2、爲了以示區分,方便統計、更新、清除,可以將Key的命令組織成一種目錄樹一樣的層次關係。 方式一 superkey.subke

原创 Redis學習筆記八、Redis客戶端命令

一、連接使用 1、通過安裝目錄下的redis-cli命令客戶端,可以連接到Redis本地服務。 在遠程Redis服務上執行命令,使用的也是redis-cli命令。Windows/Linux命令的格式: redis-cli -h

原创 Redis學習筆記七、安裝與配置詳解

一、安裝 1、Windows版本的下載地址 2、Redis在Linux下的版本,需要先編譯再安裝,下載地址 二、配置以linux爲例 1、是通過配置文件查看和修改 Linux中安裝完成後,redis.conf是一個默認的配置文件

原创 【高併發】四、NIO 簡介

一、介紹 1、在1.4版本之前,Java IO類庫是阻塞IO;從1.4版本開始,引進了新的異步IO庫,被稱爲JavaNew IO類庫,簡稱爲JAVA NIO。 2、New IO類庫的目標,就是要讓Java支持非阻塞IO,基於這個原

原创 【高併發】二、高併發 之 四種主要的IO模型

一、同步阻塞IO(Blocking IO) 1、阻塞IO:指的是需要內核IO操作徹底完成後,才返回到用戶空間執行用戶的操作。 阻塞指的是用戶空間程序的執行狀態。 傳統的IO模型都是同步阻塞IO。 在Java應用程序進程中

原创 【高併發】一、高併發 之 IO 讀寫的基礎原理

一、基礎知識 1、用戶程序進行IO的讀寫,依賴於底層的IO讀寫,基本上會用到底層的read&write兩大系統調用。 2、在不同的操作系統中,IO讀寫的系統調用的名稱可能不完全一樣,但是基本功能是一樣的。 3、read系統調用,並

原创 【高併發】三、高併發 之 合理配置來支持百萬級併發連接

一、爲什麼要進行配置 1、即使採用了最先進的模型,如果不進行合理的配置,也沒有辦法支撐百萬級的網絡連接併發。 2、Linux操作系統中文件句柄數的限制。順便說下,在生產環境中,大家都使用Linux系統,所以,後續文字中假想的生產操

原创 Redis學習筆記四、redis的重要性

一、什麼是Redis 1、Redis是Remote Dictionary Server(遠程字典服務器)的縮寫,最初是作爲數據庫的工具來使用的。是目前使用廣泛、高效的一款開源緩存。 2、Redis使用C語言開發,將數據保存在內存中

原创 【SpringCloud】15 網關Zuul瞭解一下

一、爲什麼需要網管 1、不同的微服務一般會有不同的網絡地址,外部客戶端可能需要調用多個服務的接口才能完成一個業務需求。 電商完成一條購物流程 a:流程圖 http requesthttp requesthttp reque

原创 【SpringCloud】14 Hystrix Dashboard監控平臺搭建

一、什麼是服務監控 1、除了隔離依賴服務的調用以外,Hystrix還提供了準實時的調用監控(Hystrix Dashboard),Hystrix會持續 地記錄所有通過Hystrix發起的請求的執行信息,並以統計報表和圖形的形式展示

原创 【SpringCloud】16 Spring Cloud Gateway

一、特性 1、基於Spring Framework 5、Project Reactor 和 Spring Boot 2.0 進行構建 2、動態路由:能夠匹配任何請求屬性 3、對路由指定 Predicate(斷言)和 Filter(

原创 【SpringCloud】13 Springcloud微服務內部實現架構圖

一、Eureka 服務的註冊與發現 二、服務條用圖 三、負載均衡 1、LVS 、F5 負載均衡 2、Ribbon負載均衡 四、Hystrix 熔斷器

原创 【Mybatis】01 Mybatis-Plus

Mybatis-Plus