原创 MyBtis(二)—— 動態代理

文章目錄概念靜態代理動態代理JDK動態代理CGLIB動態代理 概念 按照代理的創建時期,代理類可以分爲兩種: 靜態:由程序員創建代理類或特定工具自動生成源代碼再對其編譯。在程序運行前代理類的.class文件就已經存在了。 動態:在

原创 Spring (二)—— Spring AOP

文章目錄AOP概念AOP相關術語AOP的實現通過配置實現通過註解實現 AOP概念 AOP是面向切面,即擴展功能但是不修改源代碼,AOP採取橫向抽取機制,一般用於 性能監控、事務管理、安全檢查、緩存; 這裏先介紹一下縱向抽取機制:

原创 Spring(五)—— Spring對事務的管理

文章目錄回顧Spring對事務管理的兩種實現方式通過配置實現通過註解實現 回顧 先來回顧一下事務的相關知識吧; 事務的概念: 事務是一種SQL 語句的執行,要麼成功,要麼失敗,不能出現部分成功,部分失敗,具有原子性; 事務所有的

原创 圖 —— 最短路徑(一)Dijkstra算法

目錄1、最短路徑概念2、Dijkstra最短路算法圖解3、求最短路徑的簡單代碼(1)如果要求打印出指定起點到其他各點的最短路徑長度(2)如果要求打印出指定起點到其他各點的最短路徑 即連路徑也要打印出來 1、最短路徑概念 最短路

原创 MyBatis(七) —— MyBatis的動態代理

動態代理的相關知識參考我前面的一篇文章→Mybatis(二)—— 動態代理,這篇文章主要看看MyBatis的底層源碼,看它是如何實現動態代理的: 在前面的MyBatis的使用中,我們可以看到,每次都會用到這句代碼: 那我們就從g

原创 圖 —— 最短路徑(二)Floyd算法

Floyd最短路算法(全局/多源最短路) 求任意兩個點之間的最短路徑。這個問題這也被稱爲“多源最短路徑”問題。 Floyd算法是一個經典的動態規劃算法。是解決任意兩點間的最短路徑(稱爲多源最短路徑問題)的一種算法,可以正確處理有向

原创 圖 —— 拓撲排序

當每個任務有前後置關係時,需要找到一種滿足前後置關係的路線,將任務完成。 如果將每個任務看成一個節點,任務之間的前後置關係表示爲有向圖時,這種路線順序叫做爲圖進行拓撲排序。也叫關鍵路徑分析。 這裏的圖用鄰接矩陣法表示,算法的關鍵是

原创 圖 —— 最小生成樹

目錄一、普利姆算法1、無權圖的最小生成樹2、帶權圖的最小生成樹1、無向帶權圖的最小生成樹2、有向帶權圖的最小生成樹二、克魯斯卡爾 注意: 最小生成樹和最短路徑不一樣的,實際應用中就是:最小生成樹求的是經過所有城市的最短的那條路,最

原创 Java虛擬機(三)—— JVM性能調優

待整理… 參數設置: 設置參數,兩種形式: 對當前JVM實例設置; 對所有的JVM實例進行設置,在全局配置文件*.vm 設置堆: -Xms20M 設置堆內存容量的最小值爲20M,必須以M爲單位 -Xmx20M 設置堆內存容量的

原创 自己實現一個mini的數據庫連接池

自己實現一個mini的數據庫連接池 注意點: 數據庫連接池中存放的就是數據庫操作管道,不僅僅是存放,而且應該是管理這些管道; 應該提供外部配置文件去初始化數據庫連接池; 如果一個數據庫操作管道已經被佔用,那麼其他請求是否應該得到

原创 MyBatis (八)—— 自定義一個小MyBatis

最近研究了一下Mybatis的底層代碼,準備寫一個操作數據庫的小工具,實現了Mybatis的部分功能: 1. SQL語句在mapper.xml中配置。 2. 支持int,String,自定義數據類型的入參。 3. 根據mapper

原创 Java虛擬機(一)—— 虛擬機原理

文章目錄代碼的大體執行過程代碼在JVM裏面的詳細執行過程類裝載子系統類加載器詳解運行時數據區運行時數據區詳解執行引擎 先來看下面這一段代碼: public class APP { public int add() {

原创 樹——2-3-4樹、B樹(B+樹、B-樹)

目錄2-3-4樹B樹 2-3-4樹 2-3-4樹的特點: 它是平衡樹; 每個節點最多可以存三個數據項; 不存在空節點; 葉節點可以有數據項沒有子節點; 插入數據項的時候數據總是插入在葉節點中,這點很重要; 對於非葉節點來說:

原创 Spring(一)—— Spring IOC

文章目錄Spring簡介Spring IOCIOC的使用(基於配置)Spring創建對象的方式Spring依賴注入的方式IOC的使用(基於註解) Spring簡介 Spring是一個輕量級、開源的框架,核心功能如下: IOC:控

原创 Spring(四)—— Spring-Mybatis整合

文章目錄第一種方式第二種方式 上一節介紹了jdbcTemplate,但是它的手動映射讓人感覺很麻煩,這節主要講述Spring提供的另一種dao層解決方案,即使用Spring-Mybatis整合框架,這也是我學的第一個整合框架; 整