原创 Java線程(六)----線程池

 自JDK5之後,Java推出了一個併發包,java.util.concurrent,在Java開發中,我們接觸到了好多池的技術,String類的對象池、Integer的共享池、連接數據庫的連接池、Struts1.3的對象池等等,池的最終

原创 Java線程(十)----CAS

前言        在Java併發包中有這樣一個包,java.util.concurrent.atomic,該包是對Java部分數據類型的原子封裝,在原有數據類型的基礎上,提供了原子性的操作方法,保證了線程安全。下面以AtomicInte

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

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

原创 Java線程(四)----線程中斷、線程讓步、線程睡眠、線程合併

 本文來自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17560467,轉載請註明。       最近在Review線程專欄,修改了諸多之前描述不夠嚴謹的地方,凡是帶

原创 Java線程(八)----鎖對象Lock-同步問題更完美的處理方式

   Lock是Java.util.concurrent.locks包下的接口,Lock 實現提供了比使用synchronized 方法和語句可獲得的更廣泛的鎖定操作,它能以更優雅的方式處理線程同步問題,我們拿Java線程(二)中的一個例

原创 Java線程(十一)----Fork/Join-Java並行計算框架

並行計算在處處都有大數據的今天已經不是一個新鮮的詞彙了,現在已經有單機多核甚至多機集羣並行計算,注意,這裏說的是並行,而不是併發。嚴格的將,並行是指系統內有多個任務同時執行,而併發是指系統內有多個任務同時存在,不同的任務按時間分片的方式

原创 Java線程(十二)----線程本地變量ThreadLocal

首先說明ThreadLocal存放的值是線程內共享的,線程間互斥的,主要用於線程內共享一些數據,避免通過參數來傳遞,這樣處理後,能夠優雅的解決一些實際問題,比如hibernate中的OpenSessionInView,就是使用Thread

原创 Java線程(十三)----阻塞隊列BlockingQueue

   好久沒有寫文章了,這段時間事情比較雜,工作也比較雜亂,上週日剛搬完家,從自建房搬到了樓房,提升了一層生活品質,哈哈!不過昨天晚上在公交車上錢包被偷了,前段時間還丟個自行車,不得不感嘆,京城扒手真多,還無人處理。言歸正傳,這一段時間我

原创 01 面向對象的特性 -- 封裝、繼承、多態、抽象

面向對象的三個基本特徵是:封裝、繼承、多態。封裝封裝最好理解了。封裝是面向對象的特徵之一,是對象和類概念的主要特性。封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。繼承面

原创 算法----排序

1.冒泡排序 冒泡排序(Bubble Sort)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。所達到的效果爲:每次排序完成將最大值放到末尾位置,最小值慢慢向前“浮動”。走訪數列

原创 02 面向對象編程7原則

-->>思考什麼是編程的基本素養?(1)實現功能:首先我想強調的是,這是個信息時代。功能的實現對於程序員講體現不出基本素養,引用領導的話來說“這個功能嘛,用別人的代碼改吧改吧就出來了!”。這個只是一個經驗積累過程,可以說積累過程是個量變。

原创 JAVA基礎學習---- 重載和重寫

       重載——同樣的一個方法能夠根據輸入數據的不同,做出不同的處理。【有不同的參數列表(靜態多態性)】 (1) 方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在,具有不同的參數個數/類型

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

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

原创 Java---UDP

一. UDP協議定義 UDP協議的全稱是用戶數據報,在網絡中它與TCP協議一樣用於處理數據包。在OSI模型中,在第四層——傳輸層,處於IP協議的上一