原创 Spring bean 創建過程源碼解析

相關文章 Spring 中 bean 註冊的源碼解析 前言 在上一篇文件 Spring 中 bean 註冊的源碼解析 中分析了 Spring 中 bean 的註冊過程,就是把配置文件中配置的 bean 的信息加載到內存中,以 BeanD

原创 Mybatis 解析 SQL 源碼分析一 原

相關文章 Mybatis 解析配置文件的源碼解析 Mybatis 類型轉換源碼分析 Mybatis 數據源和數據庫連接池源碼解析(DataSource) Mybatis Mapper 接口源碼解析(binding包) Mybatis Ma

原创 Mybatis 緩存系統源碼解析 原 薦

本文從以下幾個方面介紹: 相關文章 前言 緩存的相關接口 一級緩存的實現過程 二級緩存的實現過程 如何保證緩存的線程安全 緩存的裝飾器 相關文章 Mybatis 解析 SQL 源碼分析二 Mybatis Mapper.xml 配置文件中

原创 try-catch-finally 原

try-catch-finally 一.執行順序  try-catch-finally 包含的代碼塊,當 try 裏面的代碼出現異常的時候,會進入 catch 中,finally 代碼塊則在最後被執行,即 無論是否出現異常,finall

原创 Mybatis 數據源和數據庫連接池源碼解析(DataSource) 原 薦

本文將從以下幾個方面介紹 相關文章 前言 類圖 工廠類實現 數據庫連接實現 連接池的實現 從連接池中獲取連接(流程圖) 把連接放入到連接池中(流程圖) 相關文章 Mybatis 解析配置文件的源碼解析 Mybatis 類型轉換源碼分析

原创 Mybatis 類型轉換源碼分析 原

本文將從以下幾個方面進行介紹 相關文章 前言 類型處理器 類型註冊器 別名註冊器 相關文章 Mybatis 解析配置文件的源碼解析 前言 JDBC 提供的數據類型和Java的數據類型並不是完全對應的,當 Mybatis 在解析 SQL

原创 SpringBoot學習三:異常處理和記錄日誌 原

相關文章 SpringBoot 學習一 SpringBoot 學習二:操作數據庫 前言 在上兩篇文章中,學習了 SpringBoot 的一個初步使用和通過 SpringBoot 來操作數據庫的相關知識,接下來就學習下如何使用 Sprin

原创 ThreadLocal 源碼解析 原

本文將從以下幾個方面介紹 前言 栗子 類圖 ThreadLocal源碼分析 ThreadLocalMap 源碼分析 ThreadLocal 可能會導致內存泄漏 前言 ThreadLocal 顧名思義就是在每個線程內部都會存儲只有當前線程

原创 轉換器(Converter)設計模式 原 薦

在日常開發的時候,需要在對象之間進行值的 copy,如 POJO,DTO,VO,對象之間有相同的屬性,想把一個對象的值 copy 到另一個對象中去,如 從數據庫中查詢出我們的 POJO 對象的數據,又有個對象是對 POJO 進行包裝DTO,

原创 Spring 中 bean 註冊的源碼解析 原

前言 所謂 bean 的註冊,就是把在配置文件中配置的 <bean> 節點加載配內存中,供後續使用。 bean的註冊主要分爲兩個階段,一個是準備階段,就是對配置文件進行解析,把配置文件加載到內存中,以 Document 的形式存放;第二個

原创 HashSet 源碼分析 原 薦

本文將從以下幾個方面介紹 前言 HashSet 的特定 類圖 源碼分析 HashSet 如何保證元素的不重複 總結 前言 在工作中,經常有這樣的需求,需要判斷某個ID是否在某個組的管理之下等,就需要查詢該組下的ID放到一個集合中,且集合

原创 線程池,ThreadPoolExecutor 源碼分析 原

在文章 實現線程的方式,源碼分析:Runnable, Thread, Callable, Future, FutureTask 中我們知道,實現線程一共有三種方式,當需要線程的時候,通過這幾種方式來創建線程執行任務,如果需要很多的任務同時執

原创 Mybatis 解析配置文件的源碼解析 原

前言 使用過Mybatis 的都知道,Mybatis 有個配置文件,用來配置數據源,別名,一些全局的設置如開啓緩存之類的, 在 Mybatis 在初始化的時候,會加載該配置文件,會對該配置文件進行解析;它採用的是 DOM 的方式進行解析,

原创 String ,  StringBuffer ,  StringBuilder的區別 原

String ,  StringBuffer ,  StringBuilder的區別 String 首先,String 是用來表示一個字符串常量的,它是一個不可變對象,意味着,一旦我們創建了某個字符串之後,就不能再改變它的值了,我們可以

原创 SpringBoot學習四:定時任務和異步調用 原

相關文章 SpringBoot 學習一 SpringBoot 學習二:操作數據庫 SpringBoot學習三:異常處理和記錄日誌 前言 今天來學習一下通過 SpringBoot 來實現一個定時任務和異步調用。 定時任務 在 Sprin