原创 Mybatis數據源類型和連接池實現原理源碼分析

Mybatis中的dataSource使用標準的 JDBC 數據源接口來配置 JDBC 連接對象的資源,有三種內建的數據源類型: UNPOOLED:這個數據源的實現只是每次被請求時打開和關閉連接。雖然有點慢,但對於在數據庫連接

原创 linux下打開目錄~和/的區別

~表示當前用戶目錄。如:用戶root登錄則目錄爲/root ,用戶jack登錄則爲/home/jack/表示根目錄。如:root下爲 /,jack下也是/1、使用root和wanghu用戶測試 ~從測試結果可看出在root用戶下 cd 

原创 Mybatis通過MapperScannerConfigurer掃描basePackage源碼分析

mybatis 版本:3.4.6 mybatis-spring 版本:1.3.2 首先需要Spring配置文件中添加以下配置: <bean class="org.mybatis.spring.mapper.MapperScanne

原创 Mybatis啓動初始化過程源碼分析

MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生類型

原创 Mybaits事務管理的實現原理源碼分析

Mybatis版本:3.2.8 Mysql 驅動包版本:5.1.29 Mybatis自己封裝了兩種事務實現方式: JDBC:就是按照 jdbc 的方式來控制事務的提交、回滾和關閉等操作,Mybatis 對其進行了一下封裝,底層調

原创 Java同一個線程對象能否多次調用start方法

同一個線程對象能否多次調用start方法,搞清楚這個問題,首先需要了解線程的生命週期 一、線程生命週期 更多線程狀態細節描述可查看Thread內部枚舉類:State 從上圖線程狀態轉換圖可以看出: 新建(NEW)狀態是無法

原创 Java線程池是如何保證核心線程不被銷燬的

對於Java中 Thread 對象,同一個線程對象調用 start 方法後,會在執行完run 後走向終止(TERMINATED)狀態,也就是說一個線程對象是不可以通過多次調用 start 方法重複執行 run 方法內容的。 詳

原创 線性表-定義和順序存儲結構

3.1 開場白 各位同學,大家好。 今天我們要開始學習數據結構中最常用和最簡單的一種結構,在介紹它之前先講個例子。 我經常下午去幼兒園接送兒子,每次都能在門口看到老師帶着小朋友們, 一個拉着另一個的衣服,依次從教室出來 。而且我發

原创 Java實現二叉樹的遍歷

6.8 遍歷二叉樹 假設,我手頭有20張100元的和2000張1元的獎券,同時灑向了空中,大家比賽看誰最終撿的最多。如果是你,你會怎麼做? 相信所有同學都會說, 一定先撿100元的。道理非常簡單,因爲撿一張100元等於1元的撿100張

原创 線性表-鏈式存儲結構

3.6 線性表的鏈式存儲結構 3.6.1 順序存儲結構不足的解決辦法 前面我們講的線性表的順序存儲結構。它是有缺點的,最大的缺點就是插入和刪除時需要移動大量元素,這顯然就需要耗費時間。能不能想辦法解決呢? 要解決這個問題,我們就得考

原创 串-KMP模式匹配算法

5.7 KMP 模式匹配算法 你們可以忍受樸素模式匹配算法的低效嗎?也許不可以、也許無所謂。但在很多年前我們的科學家們,覺得像這種有多個0和1重複字符的字符串,卻需要挨個遍歷的算法是非常糟糕的事情。於是有三位前輩,D.E.Knutb、

原创 樹的三種存儲結構

6.2樹的定義 之前我們一直在談的是一對一的線性結構,可現實中,還有很多一對多的情況需要處理,所以我們需要研究這種一對多的數據結構----"樹",考慮它的各種特性,來解決我們在編程中碰到的相關問題。 樹(Tree)是n(n>=0)個

原创 算法-時間複雜度和空間複雜度

2.9 算法時間複雜度 2.9.1 算法時間複雜度定義 在進行算法分析時 , 語句總的執行次數 T ( n )是關子問題規模n的函數,進而分析 T ( n )隨 n 的變化情況並確定T(n)的數量級。 算法的時間複雜度,也就是算法的時

原创 串-定義和模式匹配算法

5.2 串的定義 今天我們就是來研究"串"這樣的數據結構。先來看定義。 串( string )是由零個或多個字符組成的有限序列,又名叫字符串 。 一般記爲s= "a1a2......an"(n>0),其中,s是串的名稱,用雙引號(

原创 java實現常見查找算法

  查找   查找(Searching)就是根據給定的某個值,在查找表中確定一個其關鍵字等於給定值的數據元素(或記錄)。 在互聯網上查找信息是我們的家常便飯。所有這些需要被查的數據所在的集合,我們給它一個統稱叫查找表。 查找表(Searc