原创 Atomic原子類-1

文章目錄什麼是原子類原子類什麼是CASCAS算法理解CAS缺點 什麼是原子類 不可分割的 一個操作是不可中斷的,即使多線程的情況下業可以保證 java.util.concurrent.atomic 原子的作用和鎖類似,是爲了保證

原创 【併發容器精講二、】CopyOnWriteArrayList

文章目錄1. 誕生的歷史和原因2. 適用場景3. 讀寫規則4. 實現原理&源碼分析5. 缺點 1. 誕生的歷史和原因 代替Vector和SyschronizedList 就像 ConcurrentHashMap 代替了Sysc

原创 分佈式接口限流實現

文章目錄爲什麼要接口限流爲什麼要做分佈式實現方式1. 算法實現(無分佈式,單體架構,單節點)2. 分佈式實現 爲什麼要接口限流 在我們項目開發過程中,有些接口是暴露在用戶的常用中,包括一些高危接口,如 (支付,開發票,訂單),

原创 【併發容器精講一、】ConcurrentHashMap

ConcurrentHashMap1. 磨刀不誤砍柴功 :Map簡介2. 爲什麼需要ConcurrentHashMap3. 九層之臺,起於累土,羅馬不是一天建成的:HashMap分析4. JDK1.7 中 ConcurrentHa

原创 Atomic原子類-3

Atomic原子類-3Adder 累加器Accumulator 累加器 在Atomic原子類-1 和 Atomic原子類-2 我們介紹了Atomic 的用法以及簡單的底層實現,那麼我們這片文章講下Atomic 的累加器 A

原创 自旋鎖與阻塞鎖

文章目錄自旋鎖阻塞鎖原理和源碼分析自旋鎖的應用場景 自旋鎖 阻塞或者喚醒一個Java線程需要操作系統切換CPU 狀態來完成,這種狀態轉換 需要耗費處理器時間 如果同步代碼塊到代碼過於簡單,狀態轉換到時間有kennel比用戶執行

原创 Atomic原子類-2

文章目錄Atomic*Array 數組原子類Atomic*Reference 引用類型原子類把普通變量升級爲原子變量 上文我們介紹了Atomic原子類 並且寫了 AtomicInteeger 的使用 簡單的介紹了底層的實現 C

原创 Elasticsearch入門-1

文章目錄Elasticsearch介紹爲什麼要用Elasticsearch起源 - LuceneElasticsearch 的誕生Elasticsearch的主要功能Elasticsearch 家族成員 Elasticsearch

原创 解決redis序列化java8 LocalDateTime

文章目錄redis 序列化問題解決方案1. 使用註解的方式2. 使用全局配置文件 redis 序列化問題 在 JDK8 中 官方提出 LocalDateTime 的時間格式,因爲他是線程安全的, 在我們的業務中,我們需要把

原创 AOP實現項目日誌收集

我們利用AOP實現項目的日誌收集 直接上代碼 package com.yxl.config; import eu.bitwalker.useragentutils.UserAgent; import lombok.exter

原创 你所不知道的final

文章目錄什麼是不變性final的作用3種用法:修飾方法,變量,類注意點不變性和final的關係 什麼是不變性 如果對象在被創建後,狀態就不能被修改,那麼他就是不可變的 具有不變性的對象,一定是線程安全的,我們不需要採取任何額外的

原创 若不是因爲生活所迫,誰願把自己搞得滿身才華

網上有一個很火的勵志語錄,大概意思是這樣:你十歲的時候覺得游泳很難,你下不定決心去學。 那麼在你十八歲的時候遇到一個喜歡的女孩,她約你去游泳,你只能搖搖頭說我不會。 的確如此,在現實中,你不多掌握一門技能,很有可能就錯過了一個機會

原创 git企業級版本開發,一篇文章足矣

文章目錄git操作文檔1.生成ssh公鑰2. 克隆代碼3. 更新代碼4. 提交代碼5.回退版本6.分支7. 衝突解決終: git操作文檔 1.生成ssh公鑰 //設置用戶名 xxx代表用戶名(自定義) git config --g

原创 IntelliJ IDEA最新版官方支持漢化

1.前言 隨着 IntelliJ Idea 2020.1的發佈,IDEA對我們最大的亮點就是支持中文了,對於英文不好的同學,可以說是一大福利 2.漢化體驗 3.官方版漢化教程 打開首選項,找到Plugins 搜索 Chi

原创 go-編寫第一個go程序

安裝好 go 環境變量,以及夠開發工具 idea的(goland推薦) 創建一個go文件夾 創建一個 .go 結尾的文件 編寫屬於自己的第一個程序 必須是main包: package main 方法名必須是main: fu