原创 【併發編程系列6】Condition隊列原理及await和singal(等待/喚醒)機制源碼分析

Condition隊列原理分析前言初識ConditionCondition使用示例Condition原理分析condition.wait()源碼解讀AQS#await()AQS#addConditionWaiter()AQS#un

原创 【併發編程系列5】一行一行從源碼深入分析ReentrantLock和AQS同步隊列實現原理

ReentrantLock和AQS同步隊列前言Lock初識ReentrantLockReentrantLock基本使用ReentrantLock原理同步隊列(AQS)AQS的兩種功能AQS 的內部實現Node對象組成lock.lo

原创 用原型模式解決重複setter方法

java設計模式之原型模式什麼是原型模式原型模式示例11.標準的原型模式需要先創建一個原型接口2.創建一個對象實現原型接口3.編寫測試類原型模式示例21.創建一個原型對象,實現Cloneable接口2.編寫測試類3.改寫Proto

原创 mysql5.7參考手冊(0)之摘要

摘要mysql5.7特性 這裏是myqsql參考手冊,它分別介紹了mysql5.7-5.7.27版本以及基於 5.7.26-7.5.15發佈的mysql 集羣7.5版本。這裏可能包含mysql尚未發佈的版本特性,如果只是想要查看已

原创 設計模式(一)之深入分析工廠設計模式

三大工廠設計模式對比簡單工廠設計模式(Simple Factory Pattern)簡單工廠示例簡單工廠模式適用場景簡單工廠模式缺點工廠方法設計模式(Fatory Method Pattern)工廠方法模式適用場景工廠方法模式缺點

原创 【MySQL系列6】詳解一條查詢select語句和一條更新update語句的執行流程

一條SQL語句的執行流程前言一條select語句的執行流程建立連接查詢緩存解析器和預處理器詞法解析和語法解析(Parser)預處理器(Preprocessor)查詢優化器(Query Optimizer)優化器可以做哪些優化優化器

原创 mysql5.7參考手冊(1)之基本信息

基本信息1.1 關於參考指南1.2 排版和語法約定1.3 MySQL數據庫管理系統概述1.3.1 什麼是mysqlMYSQL5.7有什麼新功能MYSQL5.7中添加,棄用,刪除的服務和狀態變量MYSQL信息來源如何報告bug和問題

原创 【併發編程系列1】Thread生命週期及interrupted()作用分析

Thread狀態及interrupted作用分析什麼是線程如何創建線程繼承Thread類實現Runnable接口創建線程簡寫形式線程的生命週期NEWRUNNABLETERMINATEDWAITINGTIMED_WAITINGBLO

原创 【併發編程系列4】JMM中happens-before規則和as-if-serial語義

happens-before和as-if-serial先行發生原則(happens-before)什麼是happens-beforehappens-before規則示例as-if-serial語義總結 先行發生原則(happens

原创 【併發編程系列2】synchronized鎖升級原理分析(偏向鎖-輕量級鎖-重量級鎖)

synchronized原理分析初識 synchronizedsynchronized 用法鎖是如何存儲的synchronized 鎖升級偏向鎖偏向鎖的獲取偏向鎖的撤銷偏向鎖的批量重偏向偏向鎖及撤銷流程圖偏向鎖注意事項輕量級鎖輕量

原创 【MySQL系列4】深入分析MySQL中事務以及MVCC的實現原理

MySQL事務及MVCC前言什麼是事務事務的ACID特性A(Atomicity)-原子性C(Consistent)-一致性I(Isolation)-隔離性D(Durable)-持久性事務的管理事務的自動提交常用的事務控制語句COM

原创 jdk觀察者模式的黑暗面

java設計模式之觀察者模式什麼是觀察者模式觀察者模式示例JDK觀察者模式使用java.util.Observable的黑暗面觀察者模式的有優點觀察者模式的有缺點 什麼是觀察者模式 觀察者模式(Observer Pattern)定

原创 【併發編程系列3】volatile內存屏障及實現原理分析(JMM和MESI)

volatile實現原理分析初識volatilevolatile如何保證可見性可見性的本質硬件層面總線鎖緩存鎖MESI(緩存一致性協議)CPU工作流程MESI協議帶來的問題CPU層面的內存屏障JVM層面JMM(Java內存模型)J

原创 【MySQL系列5】深入分析MySQL中鎖並詳解鎖解決幻讀問題

MySQL鎖分析前言什麼是鎖表鎖行鎖共享鎖排他鎖意向鎖各種鎖的兼容關係鎖到底鎖的是什麼舉例猜測結論行鎖的算法記錄鎖(Record Lock)間隙鎖(Gap Lock)間隙是如何確定的臨鍵鎖(Next-Key Lock)臨鍵鎖加鎖規

原创 【MySQL系列2】深入分析MySQL索引的存儲結構和優化方案,看完這篇再也不怕面試官問索引了

InnoDB和MyISAM中索引存儲的區別前言存儲引擎介紹MyISAM引擎InnoDB引擎MyISAM索引結構InnoDB索引結構聚集索引非聚集索引回表覆蓋索引MySQL對索引的優化Index Condition Pushdown