原创 效率提升-idea的leetcode插件應用

安裝leetcode插件 遍歷功能 右下角爲配置入口 配置賬號密碼 登錄 雙擊可以進行考題 編寫第一題,這裏使用官方推薦的map法進行解題。可以看到內存佔用多,但是執行速度快。 同時也可以查看提交歷史(跟git差不多)

原创 java-一道面試題(鏈式+stream編程)

題目要求:一分鐘內完成此題,只能用一行代碼實現。 現在有5個用戶,篩選: 1、ID必須是偶數 2、年齡必須大於23歲 3、用戶名轉換爲大寫 4、用戶名字母倒排序 5、只輸出一個用戶 public class MyTest {

原创 併發編程-一個簡單的例子闡述volatile的保持線程間內存可見性作用(volatile)

背景 volatile關鍵詞主要有兩個作用: 保持內存可見性 進制指令衝排序 實踐 代碼參考:https://gitee.com/wangtonggui/java_demo.git的keyword-demo 使用volat

原创 併發編程-復現一個簡單的併發場景

實踐過程 代碼參考:https://gitee.com/wangtonggui/java_demo.git的ParallelProblem 模擬場景:黃牛搶票 把count看做是票 把Thread看做是黃牛 黃牛不斷搶票,但是多

原创 併發編程-簡易秒殺實踐(分佈式鎖+redis+springboot+redisson)

背景 分佈式鎖的核心是把併發操作強行串行化,在面試過程中非常常見,在高併發場景的編程下也非常常見。本wiki將進行簡易的編程實踐。 注:代碼沒有在線上工程中實際應用,僅供學習參考 實踐過程 搭建環境 使用docker搭建redis

原创 java-註解解析與實踐

背景 各大框架都必然會用到註解,本wiki說下註解的解析與實踐。 註解與註釋 註解,不但給人看,而且要給程序看,讓程序去動態(反射)的利用,所以註解與反射分不開 註釋,只給人看 註解的作用 不是程序本身,但是可以對程序做出解

原创 設計模式-java實現靜態代理和動態代理

背景 在進行mybatis的學習中,設計到了動態搭理,即僅僅定義接口和mapper,就能獲取相應的接口實現類,進行dao的種種操作。 實踐過程 參考代碼:https://gitee.com/wangtonggui/design_p

原创 併發編程-juc-semaphore信號量實踐

背景 在進行限流與熔斷的過程中,java信號量起到了很大的作用,本wiki將java的信號量做了最基礎的實戰。 實踐過程 參考代碼:https://gitee.com/wangtonggui/java_demo.git 創建信號量

原创 數據庫-存儲過程的理解與實踐

背景 存儲過程的概念類似於linux中的sh腳本,即能同時執行多條命令,而且可以傳入參數等。 實踐 創建過程 create procedure procedure_name() begin select name from t

原创 效率提升-idea-按照包下斷點

背景 在進行框架代碼研究的時候,下斷點嘗試是常用的手段。本wiki嘗試一種按照包來下斷點的調試手法。 實踐過程 隨便創建一個工程,這裏以mybatis爲例,寫了一個mybatis的helloworld級別的代碼, 在run裏面進

原创 框架編程-mybatis的helloworld(mybati+maven+xml)

文章目錄背景實踐過程準備數據創建maven工程添加mybatis的maven依賴添加java代碼添加mybatis配置測試代碼評價 背景 之前經常在springboot中使用mybatis,封裝性太強,不容易窺其全貌,本wiki將

原创 編程框架-springboot-@SpringBootApplication的探索

背景 如果研究springboot,那麼必然要研究它的自動裝配,而自動配置的核心如下: SpringbootApplication註解所帶動的一系列配置(這裏是靜態的,當run後進行掃描的時候,就會全部涉列到,本文重點闡述) r

原创 編程框架-springboot啓動流程(springboot+2.2.x)

背景 天天在用spring boot,不瞭解基礎的啓動流程是真的說不過去。本wiki將進行啓動流程闡述。 啓動流程 時序圖 DemoApplicationSpringApplicationStopWatchSystemSpring

原创 java-mapStruct源碼走讀

背景 最近在研究mapStruct,爲了方便以後能順手使用,本wiki將簡單地走讀一下源碼。 源碼走讀 總覽 源碼下載:https://gitee.com/mirrors/mapstruct.git pom模塊概覽 par

原创 java-自定義代碼生成器(spring boot+freemarker)

背景 javaEE 開發的本質是進行數據操作,開發的難點其實是在數據庫設計。本wiki將闡述一下數據庫設計完畢後,直接生成代碼的過程。 生成代碼過程 clone自制的代碼生成器: git clone https://gitee.c