原创 mybatis-generator生成XML有多個resultMap問題

使用 下載mybatis-generater-demo項目,配置generatorConfig文件。生成pojo、xml、mapper。 成功生成後,將對應文件拷貝到正確項目位置。添加項目依賴 <!-- 通用mapper逆向工具

原创 數據庫連接池數如何配置與HikariCP

HikariCP連接池 HikariCP連接池是高性能的JDBC連接池,官網標註的三大特點:快速、簡單、可靠,性能優於其他連接池。 官網詳細地說明了HikariCP所做的一些優化,總結如下: 字節碼精簡:優化代碼,直到編譯後的字

原创 【線程內參】Java創建多線程的方式到底有幾種?

Java併發方面有很多書籍以及博客,針對於線程創建方式有着不同描述,例如實現Runnable接口、集成Thread類、使用線程池工具類以及結合Callable和Future創建線程等。 創建線程的兩種方式 Oracle官方文檔,即

原创 【活躍性問題】全面分析死鎖、活鎖和飢餓

死鎖 死鎖的概述 死鎖發生在併發中,並且互不相讓。 描述:當兩個或者多個線程(或者進程)互相持有對方所佔有的資源,又不主動釋放自己的資源,導致線程陷入阻塞,即爲死鎖。多個線程如果存在環形的鎖依賴關係,可能導致死鎖。 例子:有兩個人

原创 XUbuntu與idea快捷鍵衝突

XUbuntu默認使用了xfce桌面環境,xface桌面使用了很多快捷鍵。使用idea開發工具時,會出現快捷鍵衝突的情況,筆者alt+insert快速插入構造器和getter/setter方法衝突。 解決方法,找到xfce快捷鍵設

原创 【設計模式】單例設計模式實現總結

單例模式的總體概述 單例模式,屬於創建型模式,《設計模式》一書對它做了定義:保證一個類僅有一個實例,並提供一個全局訪問點。 單例模式適用於無狀態的工具類、全局信息類等場景。例如日誌工具類,在系統中記錄日誌;假設我們需要統計網站的訪

原创 本地SecureCRT連接VMware中XUbuntu

本地機器與虛擬機中系統連接採用的是SSH。連接不上,通常是因爲虛擬機系統中沒有安裝SSH服務。 校驗是否已經有ssh服務器 root@ac:~# ssh localhost ssh: connect to host localho

原创 快速解決IDEA檢測不到Junit包問題

項目中我們通常會加junit依賴包用於單元測試。可能會出現這樣一種情況,pom.xml中有junit依賴,但是IDEA檢測不到junit的情況。 解決方法:刪除iml文件即可。

原创 職場四象限法則:時間管理四象限與職場溝通四象限

今天參加了部門組織的一個分享會,主要是關於職場心態與職場溝通的內容,職場心態主要是通過對MBTI和職場錨的測試結果做分析,內容較多省略。職場溝通方面,技術經理講到了兩個象限,即時間管理四象限與溝通四象限。其實這兩個象限,以前培訓的

原创 【線程池】線程池的鉤子方法與使用示例

在每個任務執行前後使用鉤子方法可以實現一些線程池輔助功能,例如線程池的暫停與恢復、打印日誌、統計等。 ThreadPoolExecutor提供了3個鉤子方法,需要子類根據需要重寫方法。對於三個鉤子方法的使用,參見runWoke

原创 通過字節碼分析Java值傳遞

在C++中存在值傳遞、引用傳遞、指針傳遞,而在Java中的參數傳遞也經常令人疑惑,是值傳遞,還是引用傳遞? 文章目錄1 形參和實參2 值傳遞和引用傳遞3 通過一個經典案例理解Java值傳遞 1 形參和實參 形式參數,是在方法

原创 【ThreadLocal】ThreadLocal使用場景及示例

ThreadLocal是線程封閉的重要措施,Spring中DateTimeContextHolder和RequestContextHolder也有用到。 ThreadLocal的使用場景 場景1:對象隔離–線程需要一個獨享的對象(

原创 【設計模式】如何避免反射和序列化破壞單例模式

單例模式的研究重點有以下幾個: 構造私有,提供靜態輸出接口 線程安全,確保全局唯一 延遲初始化 防止反射攻擊 防止序列化破壞單例模式 上一節《單例設計模式實現總結》,我們使用餓漢式、雙重鎖檢查、靜態內部類、枚舉類實踐了前3條。

原创 【線程池】ThreadPoolExecutor結構以及構造器參數詳解

線程池的介紹 不用線程池存在的問題 反覆創建銷燬線程開銷大 過多的線程佔用大量內存 線程池的使用,就類似於計劃經濟,控制資源總量,複用線程。有如下3點好處。 加快響應速度。消除了線程創建帶來的延時。 合理的利用CPU和內存。

原创 Java I/O:文件處理與過濾器

文章目錄1 絕對路徑與相對路徑1.1 瞭解路徑1.2 路徑分割符2 File類2.1 構造器2.2 獲取功能的方法2.3 判斷功能的方法2.4 創建刪除功能的方法2.5 目錄的遍歷3 案例:遞歸打印目錄下所有文件路徑名不採用過濾器