原创 log4j徹底研究

最近在搞一個項目架設,希望從構建一個項目方方面面都徹底研究透,增長實戰經驗。 今天先研究一下日誌的構建,這裏選擇了log4j--java方面比較流行的log框架,功能 很強大,使用起來也很方便了       廢話少說,先看看一個史上最

原创 PowerMock介紹

一、爲什麼要使用Mock工具       在做單元測試的時候,我們會發現我們要測試的方法會引用很多外部依賴的對象,比如:(發送郵件,網絡通訊,遠程服務, 文件系統等等)。 而我們沒法控制這些外部依賴的對象,爲了解決這個問題,我們就

原创 如何用Maven創建web項目(具體步驟)

使用eclipse插件創建一個web project 首先創建一個Maven的Project如下圖     我們勾選上Create a simple project (不使用骨架)       這裏的Packin

原创 Java線程(一):線程安全與不安全

 作爲一個Java web開發人員,很少也不需要去處理線程,因爲服務器已經幫我們處理好了。記得大一剛學Java的時候,老師帶着我們做了一個局域網聊天室,用到了AWT、Socket、多線程、I/O,編寫的客戶端和服務器,當時做出來很興奮,

原创 maven與checkstyle集成

鏈接:http://blog.csdn.net/kongxx/article/details/7750015 最近在整理maven工程,打算加入一次對代碼檢查和測試覆蓋率檢查的功能,因此想到了maven集成一些常用檢查工具的插件,下面

原创 maven與findbugs集成

鏈接:http://blog.csdn.net/kongxx/article/details/7757567 今天說說maven findbugs插件集成,首先修改工程的pom.xml文件,添加findbugs-maven-plugi

原创 ConcurrentHashMap原理分析

集合是編程中最常用的數據結構。而談到併發,幾乎總是離不開集合這類高級數據結構的支持。比如兩個線程需要同時訪問一箇中間臨界區(Queue),比如常會用緩存作爲外部文件的副本(HashMap)。這篇文章主要分析jdk1.5的3種併發集合類型

原创 java日誌系統

1 log4j log4j是使用得最廣泛的日誌系統,log4j對日誌系統抽象出logger,logger工廠,appender,日誌級別,日誌格式等核心概念。這幾個概念被廣泛借鑑於其他日誌系統的設計,經久不衰。 它的核心類圖如

原创 linux文件合併、去重

(1)兩個文件的交集,並集前提條件:每個文件中不得有重複行1. 取出兩個文件的並集(重複的行只保留一份)cat file1 file2 | sort | uniq > file32. 取出兩個文件的交集(只留下同時存在於兩個文件中的文件)

原创 guava 學習筆記(二) 瓜娃(guava)的API快速熟悉使用

1,大綱 讓我們來熟悉瓜娃,並體驗下它的一些API,分成如下幾個部分: IntroductionGuava Collection APIGuava Basic UtilitiesIO APICache API 2,爲神馬選擇瓜娃? 瓜

原创 LINUX與UNIX SHELL編程指南--(5)shell輸入與輸出 管道

shell的輸入與輸出 在shell腳步中,可以用幾種不同的方式讀取數據:可以使用標準輸入--缺省爲鍵盤,或者指定一個文件作爲輸入。 同樣,對於輸出,如果不指定某個文件作爲輸出,標準輸出總是和終端屏幕相關聯。   --echo

原创 Java線程(二):線程同步synchronized和volatile

通過一個簡單的例子說明了線程安全與不安全,在例子中不安全的情況下輸出的結果恰好是逐個遞增的(其實是巧合,多運行幾次,會產生不同的輸出結果),爲什麼會產生這樣的結果呢,因爲建立的Count對象是線程共享的,一個線程改變了其成員變量num值

原创 Java 靜態方法是線程安全的

先看一個類 public class  Test{ public static  String hello(String str){     String tmp="";     tmp  =  tmp+str;

原创 linux shell 數組 遍歷

在Linux下使用shell的時候,爲方便起見,偶爾會用到一下數組。數組的申明方式是: [java] view plaincopyprint? array=(element1 element2 element3 .

原创 slf4j使用教程

一、介紹: 簡單日記門面(simple logging Facade for java)SLF4J是爲各種loging APIs提供一個簡單統一的 接口,從而使得最終用戶能夠在部署的時候配置自己希望的loging APIs實現。 Log