原创 查詢linux某個進程號

查看進程號:    ps -ef  查看Java進程號:    ps -ef | grep java netstat -lntp     # 查看所有監聽端口   netstat -antp     # 查看所有已經建立的連接    

原创 mysql索引--使用注意事項

索引使用缺點: 雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對錶進行INSERT,UPDATE和DELETE。因爲更新表時,mysql不僅要保存數據,還要保存一下索引文件 建立索引會佔用磁盤空間的索引文件。一般情況這個問題不

原创 生產者與消費者的實現

生產者與消費者的實現 一到多個線程充當生產者,生產元素。一到多個線程充當消費者,消費元素。在兩者之間插入一個隊列充當緩衝區,建立起生產者和消費者的鬆散耦合。 正常情況下,即生產元素的速度和消費元素的速度差不多時,生產者和消費者其實是不需要

原创 Fork\Join分而治之--RecursiveTask和RecursiveAction(一)

fork/join 分而治之 1.什麼是Fork/join框架? 從JDK1.7開始,Java提供Fork/Join框架用於並行執行任務。它的思想就是講一個大任務分割成若干小任務,最終彙總每個小任務的結果得到這個大任務的結果。如下

原创 MYSQL索引--btree和hash的區別

1.hash索引: hash 索引結構的特殊性,其檢索效率非常高,索引的檢索可以一次定位,不像B-Tree 索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的IO訪問,所以 Hash 索引的查詢效率要遠高於 B-Tree 索引。(h

原创 談談顯示鎖Lock和Synchronized

Lock接口和synchronized的比較 Lock是一個接口,而synchronized是java的一個關鍵字。 Lock適用於以下場景:獲取鎖可以被中斷interrupt,超時獲取鎖,嘗試獲取鎖trylock,讀多寫少用讀

原创 CyclicBarrier併發工具類(三)

CyclicBarrier 讓一組線程達到某個屏障(同步點)被阻塞,一直到組內最後一個線程達到屏障時,屏障開放,所有被阻塞的線程會繼續運行; 兩種構造方法 CyclicBarrier(int parties);//partie

原创 CountDownLatch併發工具類(二)

CountDownLatch 1. countDownLatch 簡介 CountDownLatch是一個同步工具類,它允許一個或多個線程一直等待,直到其他countDownLatch中的線程裏執行完後再執行其他等待的線程。 舉

原创 Semaphore併發工具類(四)

Semaphore Semaphore是一種在多線程中的信號量,主要協調各個線程,以保證它們能夠正確、合理的使用公共資源,在操作系統中用於控制進程同步互斥的量。Semaphore是一種計數信號量,用於管理一組資源,內部是基於AQ

原创 Callable、Future和FutureTask (五)

Callable、Future和FutureTask 通常大家都知道創建線程的方式主要是繼承Thread和實現Runable接口,下面爲大家介紹第三種方式,實現Callable接口。Callable可以在ExecutorServ

原创 原子操作CAS

原子操作CAS 今天給大家介紹原子類操作,原子操作CAS是一種非阻塞的、線程安全的,相對於阻塞的synchronized同步鎖性能更好,在多線程同時更新一個變量,可能造成更新後的值不準確。synchronized會保證多線程不會

原创 Fork\Join分而治之--RecursiveTask和RecursiveAction

fork/join 分而治之 1.什麼是Fork/join框架? 從JDK1.7開始,Java提供Fork/Join框架用於並行執行任務。它的思想就是講一個大任務分割成若干小任務,最終彙總每個小任務的結果得到這個大任務的結果。如下