原创 SpringBoot,實現AOP通過註解,對指定方法進行記錄入參出參和異常,並打包

SpringBoot 實現註解日誌功能 並打包進本地Maven倉庫需求實現思路需要的依賴類上需要的註解切入點入參記錄出參記錄異常記錄打包打包出來的jar包引用方式日誌功能的測試注意!!@SpringBootApplication和

原创 AbstractStringBuilder源碼探析

AbstractStringBuilder與StringBuilder,StringBuffer的關係 由圖可以知道AbstractStringBuilder是StringBuilder和StringBuffer的父類。同時在

原创 mybatis隨筆

SqlSession SqlSession提供執行Sql命令,獲取Mapper以及事務管理的接口。 內部有selectOne,selectList,selectMap,insert,update,commit,rollback,g

原创 雪花算法分析與實現

雪花生成過程 https://baike.baidu.com/item/%E9%9B%AA%E8%8A%B1/8012054?fr=aladdin 在冰晶增長的同時,冰晶附近的水汽會被消耗。所以,越靠近冰晶的地方,水汽越稀薄,

原创 Object中方法的使用探究

Object類中自帶方法的使用探究 我們可以通過new一個Object對象查看其方法。 可以看見裏面有9個方法。 equals() equals意爲比較。我們查看jdk1.8中自帶的src壓縮包中Object類並找到equals

原创 Spring Boot的主要流程,啓動,獲取Bean,注入Bean,以及SpringMVC中響應的主要流程

@Deprecated 要看getBean的操作的朋友請轉Autowire實現 Spring Boot 啓動 SpringApplication的初始化 這裏先做new SpringApplication(Class<?> .

原创 紅黑樹教程(動畫演示調整過程)--應該是全網最簡單易懂的版本

說明 紅黑樹聽起來挺嚇人,但當你看完這篇文章後再加上紅黑樹在線生成練習幾次,就能夠輕鬆拿下。 下面的教程中x代表當前插入的節點,xp,xpp,xppl,xppr,uncle,nephewF(far),nephewC(close)分

原创 binlog,redolog,undolog學習筆記

binlog binlog是MySql中所有引擎都有的日誌,以二進制格式進行記錄。可以使用mysqlbinlog查看內容。其作用主要是恢復和複製。 恢復 由於binlog記錄的是事務結束後對數據庫產生的數據變化,比如delete/

原创 Autowire的實現原理分析,以及Spring如何處理一個Bean的注入

Spring是如何依賴注入的? 實現依賴注入的註解有Spring提供的@Autowire,@Value,以及Java提供的@Resource,@Inject 源碼追蹤 這裏使用斷點大法,對我們自定義的Bean的創建進行觀察。 首

原创 MySql Read Commit 和 Repeatable Read非阻塞讀實現原理

讀提交和可重複讀 Read Commit 讀提交,事務可以讀取已經提交的數據。 存在的問題:事務前後讀取不一致。 Repeatable Read 可重複讀,事務前後讀取數據是一致的。 存在的問題:無法處理插入或者刪除的數據。 My

原创 Docker部署mysql,redis,同時部署SpringBoot項目

命令: docker pull mysql docker pull redis 配置Mysql docker run --name mysql -e MYSQL_ROOT_PASSWORD=xym123 -p 3307:330

原创 Spring 事務管理器的初始化以及Rollback條件

TransactionManager 事務管理器接口,內部並沒有定義任何方法。這裏以數據庫爲例,所以來分析DataSourceTransactionManager DataSourceTransactionManager publ

原创 Java靜態代理與動態代理,JDKProxy和CGLIB

代理模式 代理模式就是隱藏真實對象,而暴露代理對象,而由代理對象去調用真實對象的行爲。 靜態代理 public interface Subject { /** * 處理方法 */ void pr

原创 Linux 命令與 Java異常定位

發現阿里雲的沒有裝java,於是以此爲引子。 首先判斷是否安裝java rpm -qa | grep java 其中rpm -qa列出所有安裝的程序 | grep作用是將rpm -qa的結果作爲文本進行查詢 rpm -qa |