原创 多線程併發導致CPU100%的一種原因和解決辦法
在用自定義線程池的時候,遇到cpu100%,經過驗證後,發現問題來源於我定義的子線程。 子線程的主要功能是從任務隊列(LinkedBlockingQueue)裏面持續拿出任務,並且執行。 以下爲令CPU100的代碼。 private
原创 解決虛擬機選擇橋接模式連不上網
虛擬機裝的 centos 7,使用橋接模式,且與主機在同一網段, 主機與虛擬機可以互相ping通,且主機使用secureCRT可以連接虛擬機。 主機可以上網,但是虛擬機裏centos就是連不上網,以前都可以上網。 再查了一堆資料都沒解決後
原创 SimpleDateFormat 的線程安全問題
SimpleDateFormat 的作者在源碼中就提到: * Date formats are not synchronized. * It is recommended to create separate format instan
原创 LockSupport
LockSupport 是提供比較底層的掛起阻塞線程的操作原語。 有點類似於suspend()。主要的接口有 LockSupport .park() 顧名思義park停車,就是把一個現場掛起。 LockSupport .unpark(t
原创 CyclicBarrier 循環柵欄
CountDownLatch 倒計數只有一次,倒計數到0,則結束。有時候的需求是一批一批的倒計數 比如主線程沒十個子線程完成一次,則主線程繼續執行一次,下次又來了十個線程完成,則主線程 在執行一次。循環的倒計數,則需要用到循環柵欄Cycl
原创 CountDownLatch 倒數計數器
即當前線程,等待CountDownLatch中的各子線程任務都完成後,在繼續往下執行的任務 下述demo新建一個倒數計數器10。 每個線程計數器調用countDownLatch.countDown();倒計數一次。 主方法裏,使用線程
原创 semaphore 信號量
首先鎖一般來說是互斥的,排他的,而信號量則指的是一種允許設定數量個線程進入 的一種共享鎖,但是有數量限制,當進入的個數達到上限則開始不允許其他的進入。 public void acquire()獲取許可 public v
原创 ReadWriteLock 讀寫鎖
對線程操作時讀或者寫做以區分,讀就不該加以限制,都能讀,寫才加以限制 這樣纔夠合理。這就是讀寫鎖的意義。 讀讀: 不阻塞不互斥 讀寫:讀阻塞寫,寫也阻塞讀 寫寫:寫寫互斥。 獲取方法如下: ReentrantReadWrit
原创 Condition
Condition對於重入鎖的作用,相當於object.wait object.notify 對於synchronized 的作用。也是判斷對一個鎖是否可操作的條件。 常用接口: void await() throws Interru
原创 ReentrantLock 重入鎖
ReentrantLock 爲synchronized替代品,JDK1.5之前,jvm沒對synchronized過多優化時 ReentrantLock 性能遠遠大於synchronized。 可重入:一個線程對自己來說,是可以重複進入一
原创 Thread.interrupt()方法理解(轉)
在java中,線程的中斷(interrupt)只是改變了線程的中斷狀態,至於這個中斷狀態改變後帶來的結果,那是無法確定的,有時它更是讓停止中的線程繼續執行的唯一手段。不但不是讓線程停止運行,反而是繼續執行線程的手段。 對於執行一般邏輯的線
原创 同步,異步和阻塞,非阻塞的理解
個人理解 同步異步的區別在於:發起一個請求後是否等待這個請求相應後再去做別的事。 阻塞,非阻塞的區別在於:當使用共享資源時,發現該資源當前不可用,是等 着直到它可用,還是直接反饋:“這會兒還不行,等會兒你再去吧
原创 單元測試之 Mockito
單元測試,顧名思義,指只測試自己這個工作單元,默認其他人的部分都是隊的情況 下自己這個單元是否能正確處理業務邏輯。 既然是單元測試,那麼肯定不需要實際去把依賴的地方起起來,這樣就不是單元測試了。 但是我們的
原创 ORACLE 使用sqluldr2和sqlldr進行導入導出
當需要大數據量的導入導出的數據遷移操作時,效率變得極其重要oracle數據導出工具sqluldr2可以將數據以csv、txt等格式導出,適用於大批量數據的導出,導出速度非常快。導出後可以使用oracle loade
原创 物化視圖創建 及 刷新機制修改
Oracle物化視圖語法2010-05-21 09:58 物化視圖對於前臺數據庫使用者來說如同一個實際的表,具有和一般表相同的如select等操作,而其實際上是一個視圖,一個由系統實現定期刷新其數據的視圖(具體刷新時間在定義物化視圖