原创 親,ThreadPoolExecutor瞭解一下: BlockingQueue (阻塞隊列)

描述 超出核心線程數(corePoolSize)的task,會優先放到隊列中 線程執行完task後,會從隊列中取task去執行. 幾種實現方案: LinkedBlockingQueue : 默認實現隊列,可選邊界的,基於鏈表實現

原创 zookeeper學習筆記一

下載 官網下載頁 找到最新版本下載地址 , 我現在的版本是3.4.11 --> 下載地址 下載得到文件 : zookeeper-3.4.11.tar.gz 解壓 , 並重命名 tar -zxvf zookeeper-3.4.11.tar.

原创 親,Spring瞭解一下 : SmartValidator

場景 在Spring中使用參數檢驗,最常用的是使用註解的方法**@Valid** 如下: //定義bean public class ApplyParams extends Params{ @Override @NotBl

原创 [kotcloud] kotlin + springboot (二)多環境的配置文件

文件格式 Spring Boot 兩種配置文件 , properties和yaml (yml) yaml 和yml兩種文件是一樣的格式 , 都可以 . 下面yml的配置方式 , 都可以改用properties,文件的目錄結構一樣

原创 分佈式鎖的幾種使用方式(redis、zookeeper、數據庫)

Q:一個業務服務器,一個數據庫,操作:查詢用戶當前餘額,扣除當前餘額的3%作爲手續費 synchronized ck db lock Q:兩個業務服務器,一個數據庫,操作:查詢用戶當前餘額,扣除當前餘額的3%作爲手續費 分佈式鎖 我

原创 親 , Zookeeper瞭解一下 : 概述

在學習的過程中,我們總需要一個來自靈魂的拷問: 爲什麼? 爲什麼會產生Zookeeper 這個問題有深度,那要從五百萬年說起,在遙遠的塞伯坦星球..... 扯遠了... 在遙遠在單機單服務的時代 , 想要擴展服務 , 只能增加硬件配置

原创 JAVA多線程編程核心技術-學習筆記

進程和線程 進程是操作系統拓撲管理的基本單位 線程是進程中,獨立運行的子任務 線程啓動 在多線程中, 代碼的順序 , **[不是]**線程的執行順序. start()和run() start()是啓動新線程執行方法,異步 run

原创 java.lang.IllegalArgumentException: Comparison method violates its general contract!

參考: 【1】https://yq.aliyun.com/articles/47048 【2】http://blog.csdn.net/ghsau/article/details/42012365 今天碰到一個未見過的異常。 java.la

原创 [kotcloud] kotlin + springboot (一)初始配置

[KotCloud] maven配置springboot + kotlin pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.buil

原创 記一次內存爆漲分析 , JVM命令使用

問題描述: tomcat服務突然不可用 , 所有請求均不通 . 第一想法就是服務掛了. 登錄服務器 查詢tomcat進程, 服務還在運行中 服務運行中 , 但接口不可用 . 可以想到硬件到了極限 , CPU , 內存 , 日誌(大日誌文

原创 親 , AbstractQueuedSynchronizer瞭解一下 : 我理解的AQS

理解 AQS是通過標誌位+隊列的形式來做鎖控制. AQS有兩大功能,獨佔鎖和共享鎖 AQS通過樂觀鎖(CAS)來實現對標誌位(state)的更新 隊列爲雙向鏈表,還存儲了線程的等待狀態 AQS 由子類實現 "如何判定爲拿到鎖" //TO

原创 HashMap , 翻譯解釋

JDK1.7版本的HASHMAP HashMap文件頭註釋翻譯: Hash table based implementation of the Map interface. This implementation provides al

原创 擼碼總結:

算法: 除法 一定要注意除數 不能爲 0 小數位數 取捨 , 一定要注意取捨規則 接口 一定要做冪等 一定要做併發控制 redis 一定要設置key的過期時間 使用連接池 業務 一定要自己再複述一遍需求 , 避免相互理解錯誤

原创 [kotcloud] kotlin + springboot (三)lo4j2 + slf4j配置日誌,多環境日誌

概述 log4j2 支持同步日誌和異步日誌 , 性能優於log4j 和logback . log4j2 支持配置方式: xml , json , yaml, properties 自動發現配置文件(Automatic Configura

原创 Ubuntu,sublime的安裝和配置中文輸入

系統:Ubuntu 16.04 輸入法:fcitx 拼音五筆 官網下載頁: 安裝 本想添加軟件源到apt ,但是sublime的網站貌似被牆了。添加不成功。老是鏈接失敗。只好下載安裝包,自己手動安裝了。 官網的安裝包也下載不了。無奈,