原创 《深入理解Java虛擬機》學習筆記之垃圾收集

文章目錄一、判斷對象是否存活的算法1、引用計數算法2、可達性算法分析3、再談引用4、對象啥時候死亡二、垃圾回收算法1、分代收集理論2、標記-清除算法3、標記-複製算法Appel式回收4、標記-整理算法 一、判斷對象是否存活的算法

原创 《深入理解Java虛擬機》學習筆記之運行時數據區

文章目錄Java內存區域之運行時數據區域1. 程序計數器2. Java虛擬機棧局部變量表異常情況3. 本地方法棧4. Java堆垃圾收集管理異常情況5. 方法區6. 運行時常量池與Class文件常量池的區別 基於《深入理解Java

原创 SpringBoot快速入門學習

文章目錄一、快速入門1. 創建項目1. spring initializr創建2. IntelliJ IDEA創建2、編寫第一個測試案例二、pom.xml依賴三、主程序類分析@SpringBootApplication@Sprin

原创 SpringBoot2.x入門踩坑集合

文章目錄一、Error:(8,26) java: 編碼EUC_CN的不可映射字符二、Web server failed to start. Port 8080 was already in use.(springboot解決808

原创 SpringMVC配置簡單的異常處理器

文章目錄一、配置前端控制器及過濾器二、自定義異常類三、自定義異常處理器四、配置Springmvc.xml配置文件五、定義Controller六、定義友好提示頁面七、前端超鏈接測試 一、配置前端控制器及過濾器 <web-app xm

原创 springMVC如何實現REST風格支持

文章目錄一、REST風格是啥?二、配置支持REST風格過濾器三、配置spirngMVC四、定義控制器五、前端定義表單 一、REST風格是啥? REST(Representational State Transfer):表述性狀態傳

原创 IDEA如何讓多個文件tab分行顯示

一、點擊File,選擇settings。 二、點擊Editor,點擊General,點擊Editor Tabs,取消勾選Show tabs in one row。 三、效果展示

原创 mybatis源碼學習:插件定義+執行流程責任鏈+pagehelper

文章目錄一、自定義插件流程二、測試插件三、源碼分析1、inteceptor在Configuration中的註冊2、基於責任鏈的設計模式3、基於動態代理的plugin4、攔截方法的intercept(invocation)四、插件開

原创 IDEA+Maven的mybatis逆向工程的建立(插件+java代碼)

文章目錄一、導入需要的依賴座標二、建立相應的目錄結構三、編寫mbg的XML配置四、選擇啓動方式1、java代碼啓動2、maven插件啓動五、執行成功,工程生成六、主配置文件的簡單配置七、測試基礎的增刪改查八、測試多條件 一、導入需

原创 mybatis源碼學習:基於動態代理的查詢

User user1 = userDao1.findById(41); 一、動態代理:執行代理對象的方法時攔截,進行方法增強。 /** * 作用:執行被代理對象的任何接口方法都會經過該方法 * @param proxy :

原创 mybatis查漏補缺

文章目錄一、mybatis處理參數源碼二、佔位符比較三、多表查詢四、鑑別器五、trim標籤六、動態sql 內置參數+bind七、緩存相關 本篇文章算是對mybatis的查漏補缺,第一次過的時候沒有注意到的知識點,在此做一些整理。

原创 SpringMVC入門踩坑集合

文章目錄一、java.lang.ClassNotFoundException: org.slf4j.event.LoggingEvent二、錯誤400-The request sent by the client was synt

原创 Spring配置通知的方式+切入點表達式

文章目錄基於xml的spring-aop配置切入點表達式配置通知環繞通知基於註解+xml的spring-aop配置環繞通知基於純註解的spring-aop配置創建配置類獲取容器 基於xml的spring-aop配置 把通知bea

原创 Mybatis整合第三方緩存庫ehcache

一、引入相關日誌包依賴 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifa

原创 Mybatis源碼學習:getMapper獲取代理對象

下面這句話意思非常明瞭,就是通過傳入接口類型對象,獲取接口代理對象。 IUserDao userDao1 = sqlSession1.getMapper(IUserDao.class); 具體的過程如下: 一、首先,調用SqlSe