原创 又一篇深入分析ConcurrentHashMap的文章

本文轉自:http://www.infoq.com/cn/articles/ConcurrentHashMap 之前的一篇文章是:http://blog.csdn.net/caihaijiang/article/details/74358

原创 設計模式之一:策略模式

                                                 《Head First設計模式》第一章學習筆記 一、OO基礎:   抽象、  封裝、  多態、  繼承 二、OO原則: 1、封裝變化    

原创 Spring事件體系

   Spring事件體系包括三個組件:事件,事件監聽器,事件廣播器。 事件:ApplicationEvent 事件監聽器:ApplicationListener,對監聽到的事件進行處理。 事件廣播器:ApplicationEvent

原创 Executors提供的四種線程池

java.util.concurrent.Executors類,提供了創建四種線程池的方法,相關方法及對應的功能如下: 1、newCachedThreadPool:用來創建一個可緩存線程池,該線程池沒有長度限制,對於新的任務,如果有空閒的

原创 探索 ConcurrentHashMap 高併發性的實現機制

今天看到“探索 ConcurrentHashMap 高併發性的實現機制”這篇文章,感覺很不錯,所以轉過來收藏。                                         探索 ConcurrentHashMap 高併

原创 TCP狀態

在使用命令 netstat -a時,可以看到結果中,有一列state,該列的值,通常有:ESTABLISHED、CLOSE_WAIT、TIME_WAIT等。這些值,都是TCP的一些狀態。 TCP初始化連接以及連接關閉時,均涉及到狀態的變遷

原创 Java併發集合類

        在Java類庫中出現的第一個關聯的集合類是 Hashtable。 Hashtable 提供了一種易於使用的、線程安全的、關聯的map功能。然而,線程安全性付出代價是――Hashtable 的所有方法都是同步的。Hashta

原创 MAT分析JAVA內存問題

Java的內存泄露多半是因爲對象被遺留在全局的HashMap中得不到釋放,如果發現Java應用程序佔用的內存出現了泄露的跡象,那麼我們一般採用下面的步驟分析:     1. 把Java應用程序使用的heap dump下來     2. 使

原创 linux shell正則表達式

Linux Shell環境下提供了兩種正則表達式規則,一個是基本正則表達式(BRE),另一個是擴展正則表達式(ERE)。     下面是這兩種表達式

原创 mysql函數

函數IFNULL 語法:IFNULL(expr1,expr2)    功能:如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。 IFNULL()返回一個數字或字符串值,取決於它被使用的上下文環境。    

原创 java.lang.String的substring、split方法引起的內存問題

本文大部分內容,摘自下面兩篇文章:            http://blog.xebia.com/2007/10/04/leaking-memory-in-java/、             http://www.iteye.com

原创 linux grep命令

1.  grep中應用正則表達式的實例:    需要說明的是下面所涉及的正則表達式在上一篇中已經給出了詳細的說明,因此在看下面例子的時候,可以與前一篇的正則說明部分結合着看。     /> cat testfile     northwe

原创 linux top命令

top命令經常用來監控linux的系統狀況,比如cpu、內存的使用等。 top命令執行結果如下圖所示: top前五行統計信息 第一行: 15:48:01 表示當前系統時間。 up 391 days, 22:56 表示系統已經運行了391

原创 可重入與線程安全

本文轉自:http://zh.wikipedia.org/wiki/%E5%8F%AF%E9%87%8D%E5%85%A5 若一個程序或子程序可以“安全的被並行執行(Parallel computing)”,則稱其爲可重入(reen

原创 使用JSR303進行參數校驗

JSR 303 – Bean Validation 是一個數據驗證的規範。 在任何時候,當你要處理一個應用程序的業務邏輯時,必須要考慮數據校驗,確保輸入進來的數據從語 義上來講是正確的。在通常的情況下,應用程序是分層的,不同的層由不同的開