原创 【深入理解MyBatis】- 03Mybatis 從0開始實現Mybatis 插件(plugins)功能
Mybatis 插件(plugins)簡介 Mybatis 插件像是個攔截器,本質上是JDK動態代理的封裝,返回了代理對象,起到了攔截器作用,接下來將按照從0開始實現Mybatis 插件(plugins)功能,再使用一下Mybat
原创 深入理解MyBatis概述介紹
概述 計劃做一期MyBatis原理講解,內容主要包括MyBatis原理和相關技術的講解 選擇閱讀的mybatis版本爲3.4.6,對應鏈接,選擇依據,查看Maven Repository mybatis引用最多的版本,對應
原创 動態編譯java源代碼,不生成中間文件
直接貼代碼實現 public class App2 { public static void main( String[] args ) throws Exception { String code = "
原创 Sun JDK監控和故障處理工具
Sun JDK監控和故障處理工具 名稱 主要作用 jps JVM Process Status Tool,.顯示指定系統內所有的 HotSpot 虛擬機進程 jstat JVM Statistics Monito
原创 C語言中二維數組名與數組地址、首行地址、首行首元素地址理解
對應書籍解釋 案列 #include <stdio.h> int main() { int a[3][4] = {{100, 2, 3, 4}, {200, 2, 3, 4}, {3, 2, 3, 4}}; // 0行0列
原创 串的模式匹配算法-KMP算法的演進
也就是平時所說的求子串位置的定位函數 Index(S,T,pos),如下圖所示,請子串abcd在字符串abceabcdijkl位置 通常的做法實現如下 定義數據類型#define MAX_STRING_LEN 255 //
原创 Postman mock數據
創建MOCK服務器 創建新的Collection 點擊File->New->Collection,添加名稱爲MOCK-DATA 創建Mock服務器 按照以下三步分別點擊 添加服務器名稱爲MOCK-DATA-SERVER 創建
原创 讀取文件 (NIO 四)
經典的I/O方式 這個示例展示了我們如何使用舊的I/O庫api讀取文本文件。它使用BufferedReader對象進行讀取。另一種方法是使用InputStream實現。 public class WithoutNIOExample
原创 MyBatis 簡單代碼講解動態代理原理
先運行mybatis例子 public class SqlSessionFactoryTest { public static void main(String[] args) throws IOException { St
原创 使用緩衝區 (NIO 二)
Buffer屬性 從概念上講,緩衝區Buffer是對原始數據元素的數組的包裝。緩衝區 Buffer有四個重要的屬性 容量(Capacity):緩衝區可以容納的最大數據元素數。 容量是在創建緩衝區時設置的,無法更改。 限制(Lim
原创 class類文件的結構(一)
Class文件格式 類型 名稱 數量 u4 magic 1 u2 minor_version 1 u2 major_version 1 u2 constant_pool_count 1 cp_info
原创 中介者模式 Mediator
中介者模式 用一箇中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。如下圖所示,使交流的雙方都不互相依賴,都與中介者產生關係 舉一個具體的例子,如果沒有中介,
原创 Java WatchService示例自動重新加載屬性
當配置文件中發生任何更改時,自動刷新配置文件——這是大多數應用程序中常見的問題。每個應用程序都有一些配置,這些配置將在配置文件中的每次更改時刷新。過去解決這個問題的方法包括有一個線程,它根據配置文件的最後更新時間戳定期輪詢文件更改
原创 【深入理解MyBatis】- 01從數據庫中讀取數據過程
初始化項目 執行命令從github上面拉取代碼:git clone [email protected]:dengjili/mybatis-3-mybatis-3.4.6.git 代碼結構 執行mysql數據庫腳本:mybatis-3
原创 GC各參數學習記錄
GC各參數學習記錄 JVM GC格式日誌的主要參數 -XX:+PrintGC 輸出簡要GC日誌 -XX:+PrintGCDetails 輸出詳細GC日誌 -Xloggc:gc.log 輸出GC日誌到文件 -verbose:g