原创 AtomicBoolean

Java代碼   private static class BarWorker implements Runnable {       private static boolean exists = false;       pr

原创 爲什麼在單例類中不能使用雙重檢查鎖來初始化對象

在網上看到過好多篇文章在說明雙重檢查鎖在多個線程初始化一個單例類時到底爲什麼不行時在關鍵位置的描述模棱兩可,今天我們就來看一下爲什麼不能用雙重檢查鎖,問題到底出在了那裏? 下面我們直接進入主題,爲什麼使用雙重檢查鎖,原因是因爲在多線程初

原创 log4j,配置,詳解

新建一個Maven項目 目錄結構如下: 在pom.xml中配置log4j依賴 該dependency引入了3個jar包,如果不是maven項目直接下載這3個jar包就可以使用log4j了 在src/main/resources目錄

原创 (一)MyBatis源碼解析之配置文件

使用mybatis進行數據庫查詢的代碼如下: public class MessageDaoDemo { @Test public void queryMessageList() throws IOException{ SqlS

原创 secureCRT,永久設置,保護眼睛,配色方案

配色後效果如下: 下面開始配色 1、選項(Options)==》會話選項(Sessions options)==》終端(Terminal)==》仿真(Emulation) 按圖中標註進行勾選,勾選完畢點擊確認 2、選項(Options

原创 spring集成mina簡明教程

mina服務端代碼如下:try { IoAcceptor accept = new NioSocketAcceptor(); DefaultIoFilterChainBuilder chai

原创 通俗易懂講解happens-before原則

      在接下來的敘述裏我首先會說明happens-before規則是幹什麼用的,然後用一個簡單的小程序說明happens-before規則 一、happens-before規則 我們編寫的程序都要經過優化後(編譯器和處理器會對我們的

原创 protobuf的使用和原理

    Protocol Buffers 是一種輕便高效的結構化數據存儲格式,可以用於結構化數據串行化,很適合做數據存儲或 RPC 數據交換格式。它可用於通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式,說白了其實

原创 (三)MyBatis源碼解析之配置文件

這篇文章我們來看看最重要的mappers標籤是怎樣解析的,Mybatis在mappers標籤中引入所有的***Mapper.xml <mappers> <mapper resource="sqlMap/messageMapper.

原创 數據庫鎖 sql 數據庫大併發操作 數據庫原子操作

1 前言 數據庫大併發操作要考慮死鎖和鎖的性能問題。看到網上大多語焉不詳(尤其更新鎖),所以這裏做個簡明解釋,爲下面描述方便,這裏用T1代表一個數據庫執行請求,T2代表另一個請求,也可以理解爲T1爲一個線程,T2 爲另一個線程。T3,

原创 NIO與IO的區別

JAVA NIO vs IO 當我們學習了Java NIO和IO後,我們很快就會思考一個問題: 什麼時候應該使用IO,什麼時候我應該使用NIO 在下文中我會嘗試用例子闡述java NIO 和IO的區別,以及它們對你的設計會有什麼影響 Ja

原创 (二)MyBatis源碼解析之配置文件

上篇文章我們分析了properties、environmets、typeAliases三個標籤,這篇文章我們來看一下typeHandlers標籤。 其實不用typeHandlers標籤完全不影響對mybatis的使用。但是mybatis內

原创 (四)MyBatis源碼解析之SqlSession

上篇博文將完了MyBatis的配置文件解析的過程,從這篇博文開始分析MyBatis的執行流程 解析完配置文件之後,配置文件中的所有信息就存儲到了Configuration對象中了,在創建SqlSessionFactory對象時將Confi

原创 Hessian源碼剖析(三)

上篇博文我們分析了一個遠程調用的過程,但是沒有分析具體的細節,這篇文章我們來分析一下遠程調用請求的過程 protected HessianConnection sendRequest(String methodName, Object

原创 Hessian源碼分析之設計模式篇(八)

Hessian源碼已經分析完了,在Hessian中主要使用到了兩個設計模式,一個是策略模式,一個是模板方法模式 我們先來看看策略模式 在Hessian中向流中寫數據都是通過Serializer接口的writeObject方法來實現的,而根