原创 多線程運行狀態,sleep(),wait(),yield(),join()的理解

開始前,先看下線程的運行狀態。 線程生命週期 一個線程從創建到死亡,經歷了哪些狀態呢 創建(new)狀態: 準備好了一個多線程的對象 就緒/可運行(runnable)狀態: 調用了start()方法, 等待CPU進行調度 運行(runni

原创 Elasticsearch的簡單入門:(二)ES基礎

Elasticsearch的簡單入門:(一)ES簡介與安裝:https://blog.csdn.net/kavito/article/details/88289820 前面我們把環境準備好了,下面繼續學習ES的索引操作 2.操作索引  2

原创 RabbitMQ快速入門(詳細)

在介紹RabbitMQ之前,我們先來看下面一個電商項目的場景: 商品的原始數據保存在數據庫中,增刪改查都在數據庫中完成。 搜索服務數據來源是索引庫(Elasticsearch),如果數據庫商品發生變化,索引庫數據不能及時更新。

原创 SpringBoot統一異常處理

首先定義一個異常類CustomException 。 /** * 自定義異常類型 * @author kavito * @date 2019/5/31 16:39 */ public class CustomException

原创 JVM學習筆記整理

JVM 垃圾回收的時候如何確定垃圾?知道什麼是 GC Roots ? 什麼是垃圾 簡單來說就是內存中已經不在被使用到的空間就是垃圾 要進行垃圾回收,如何判斷一個對象是否可以被回收? 引用計數法 枚舉根節點做可達性分析 爲了解決引用

原创 基於Docker構建MySql的主從複製

Docker使用以及安裝MySQL看我上一篇的介紹:Docker安裝MySQL。 基於docker實現一主兩從,看下docker鏡像,mysql版本還是用5.6。 首先創建掛載外部數據目錄,在宿主下創建三個目錄/etc/mysql_cl

原创 MySQL優化

MySQL底層原理 sql語句編寫和解析的過程: 編寫過程:select dinstinct ...from...join...on ..where...group by...having...order by...limit...解析

原创 Java鎖之自旋鎖

自旋鎖是指定嘗試獲取鎖的線程不會立即堵塞,而是採用循環的方式去嘗試獲取鎖,這樣的好處是減少線程上線文切換的消耗,缺點就是循環會消耗 CPU。 手寫一個自旋鎖  import java.util.concurrent.TimeUnit;

原创 Java鎖之ReentrantReadWriteLock

概述  ReentrantReadWriteLock是Lock的另一種實現方式,我們已經知道了ReentrantLock是一個排他鎖,同一時間只允許一個線程訪問,而ReentrantReadWriteLock允許多個讀線程同時訪問,但不允

原创 java知識點整理

平時遇到的零散的java知識點,將會在這篇文章記錄整理。 1、Math.round(),Math.ceil(),Math.floor()的區別 ①Math.round():“round”的字面意思“附近、周圍”——返回與它最近的一位整數,

原创 BeanUtils.copyProperties的用法

org.springframework.beans.BeanUtils.copyProperties(Object sourse,Object target),作用就是把兩個對象中相同字段進行賦值。不一定是相同對象,只要兩個對象中有相同的

原创 GitHub的安裝和使用

GitHub安裝和使用   GitHub是一個基於git的代碼託管平臺,付費用戶可以建私人倉庫,一般的免費用戶只能使用公共倉庫,也就是代碼要公開。Github 由Chris Wanstrath, PJ Hyett 與Tom Preston

原创 IDEA常用快捷鍵

IDEA快捷方式整理與記錄: 【常規】  Ctrl+Shift + Enter,語句完成 “!”,否定完成,輸入表達式時按 “!”鍵 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,

原创 Semaphore信號量

 Semaphore是一種在多線程環境下使用的設施,該設施負責協調各個線程,以保證它們能夠正確、合理的使用公共資源的設施,也是操作系統中用於控制進程同步互斥的量。Semaphore是一種計數信號量,用於管理一組資源,內部是基於AQS的共享

原创 CountDownLatch

CountDownLatch是在java1.5被引入的,跟它一起被引入的併發工具類還有CyclicBarrier(https://blog.csdn.net/kavito/article/details/81584580)、Semapho