原创 Java併發編程指南(一):線程管理

1. 線程的創建和運行:在Java中,我們有2個方式創建線程:通過直接繼承Thread類,然後覆蓋run()方法。構建一個實現Runnable接口的類, 然後創建一個thread類對象並傳遞Runnable對象作爲構造參數2.獲取和設置線

原创 Java併發編程指南(三):線程同步工具

1. 控制併發訪問資源Semaphore:Semaphore是一個控制訪問多個共享資源的計數器。當一個線程想要訪問某個共享資源,首先,它必須獲得semaphore。如果semaphore的內部計數器的值大於0,那麼semaphore減少計

原创 Java併發編程指南(六):併發集合

1. 非阻塞線程安全的列表 ConcurrentLinkedDeque併發列表允許不同的線程在同一時刻對列表的元素進行添加add()或刪除pollFirst(),pollLast(),而不會產生任何數據不一致(問題)。add(), add

原创 java多線程編程基礎

一、進程和線程的區別:  進程:每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有較大的開銷,一個進程包含1--n個線程。(進程是資源分配的最小單位)  線程:同一類線程共享代碼和數據空間,每個線程有獨立的運行棧和程序計數器

原创 Java併發編程指南(五):Fork/Join框架

這個框架被設計用來解決可以使用分而治之技術將任務分解成更小的問題。在一個任務中,檢查你想要解決問題的大小,如果它大於一個既定的大小,把它分解成更小的任務,然後用這個框架來執行。這個框架基於以下兩種操作:fork操作:當你把任務分成更小的任

原创 Java 8 Optional類深度解析

Optional類包含的方法:of爲非null的值創建一個Optional。of方法通過工廠方法創建Optional類。需要注意的是,創建對象時傳入的參數不能爲null。如果傳入參數爲null,則拋出NullPointerExceptio

原创 調停者模式

調停者模式定義:用一箇中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。將網狀調用關係變成星調用關係。將多對多的關係化解成一對多的關係。類圖:源代碼:/** * 職員

原创 單例模式的六種寫法

基本的實現思路單例模式要求類能夠有返回對象一個引用(永遠是同一個)和一個獲得該實例的方法(必須是靜態方法,通常使用getInstance這個名稱)。單例的實現主要是通過以下兩個步驟:將該類的構造方法定義爲私有方法,這樣其他處的代碼就無法通

原创 Java內存模型:volatile關鍵字深度解析

volatile關鍵字保證1.可見性和2.一定的有序性,不保證原子性。 volatile這個關鍵字可能很多朋友都聽說過,或許也都用過。在Java 5之前,它是一個備受爭議的關鍵字,因爲在程序中使用它往往會導致出人意料的結果。在Java 5

原创 Java併發編程指南(四):線程執行者

1. 創建一個線程執行者:使用Executor framework的第一步就是創建一個ThreadPoolExecutor類的對象。你可以使用這個類提供的4個構造器或Executors工廠類來 創建ThreadPoolExecutor。有

原创 Java併發編程指南(二):基本線程同步

1. 同步方法:synchronized關鍵字:只有一個執行線程將會訪問一個對象中被synchronized關鍵字聲明的方法。如果另一個線程試圖訪問同一個對象中任何被synchronized關鍵字聲明的方法,它將被暫停,直到第一個線程結束

原创 redis和memcached的區別

1. redis支持複雜的數據結構:list, hash , set等。因此Redis除單純緩存作用外,還可以處理一些簡單的邏輯運算,Redis不僅可以緩存,而且還可以作爲數據庫用 。 2. redis的數據可以持久化到磁盤,memcac

原创 Java中的範型

什麼是範型 泛型,即“參數化類型”。 顧名思義,就是將類型由原來的具體的類型參數化,類似於方法中的變量參數,此時類型也定義成參數形式(可以稱之爲類型形參),然後在使用/調用時傳入具體的類型(類型實參)。 泛型的本質是爲了參數化類型。也就

原创 Java反射機制

概念 在Java中的反射機制是指在運行狀態中,對於任意一個類都能夠知道這個類所有的屬性和方法;並且對於任意一個對象,都能夠調用它的任意一個方法和屬性,(重點是私有的方法和屬性);這種動態獲取信息以及動態調用對象方法的功能成爲Java語言的

原创 MYSQL性能優化知識點

一、MYSQL的鎖 數據庫鎖的類型 1.表級鎖定(table-level) 2.行級鎖定(row-level) 3.頁級鎖定(page-level)   InnoDB的行級鎖鎖定模式 InnoDB行鎖實現方式: InnoDB行鎖是通過給