原创 自旋鎖原理及java自旋鎖
一、自旋鎖的概念 首先是一種鎖,與互斥鎖相似,基本作用是用於線程(進程)之間的同步。與普通鎖不同的是,一個線程A在獲得普通鎖後,如果再有線程B試圖獲取鎖,那麼這個線程B將會掛起(阻塞);試想下,如果兩個線程資源競爭不是特別激烈,而處理器阻
原创 字符串交錯組成--很優美的遞歸算法
問題: 對於三個字符串A,B,C。我們稱C由A和B交錯組成當且僅當C包含且僅包含A,B中所有字符,且對應的順序不改變。請編寫一個高效算法,判斷C串是否由A和B交錯組成。 給定三個字符串A,B和C,及他們的長度。請返回一個bool值,代
原创 字符串交錯組成--很優美的遞歸算法
問題: 對於三個字符串A,B,C。我們稱C由A和B交錯組成當且僅當C包含且僅包含A,B中所有字符,且對應的順序不改變。請編寫一個高效算法,判斷C串是否由A和B交錯組成。 給定三個字符串A,B和C,及他們的長度。請返回一個bool值,代
原创 Java 併發專題 :閉鎖 CountDownLatch 之一家人一起喫個飯
原文地址:http://blog.csdn.net/lmj623565791/article/details/26626391 每天起早貪黑的上班,父母每天也要上班,話說今天定了個飯店,一家人一起喫個飯,通知大家下班去飯店集合。
原创 自旋鎖原理及java自旋鎖
一、自旋鎖的概念 首先是一種鎖,與互斥鎖相似,基本作用是用於線程(進程)之間的同步。與普通鎖不同的是,一個線程A在獲得普通鎖後,如果再有線程B試圖獲取鎖,那麼這個線程B將會掛起(阻塞);試想下,如果兩個線程資源競爭不是特別激烈,而處理器阻
原创 線程安全的單例模式
實現線程安全單例模式的兩種方式: 1.雙重檢查+同步: public class Singleton { private volatile static singletonInstance; priv
原创 leetcode之Maximal Square
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For
原创 線程池的原理及實現
原文鏈接:http://blog.csdn.net/hsuxu/article/details/8985931 1、線程池簡介: 多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閒置時間,增加處理器單元的吞
原创 JAVA內部類
一、定義 放在一個類的內部的類我們就叫內部類。 二、 作用 1.內部類可以很好的實現隱藏 一般的非內部類,是不允許有 private 與protected權限的,但內部類可以 2.內部類擁有外圍類的所有元素的訪問權限 3.可
原创 線程安全的單例模式
實現線程安全單例模式的兩種方式: 1.雙重檢查+同步: public class Singleton { private volatile static singletonInstance; private
原创 I/O模型
線程在執行中如果遇到磁盤讀寫或網絡通信(統稱爲I/O 操作),通常要耗費較長的時間,這時操作系統會剝奪這個線程的CPU 控制權,使其暫停執行,同時將資
原创 Callable接口解析
1.接口的定義: public interface Callable<V> { V call() throws Exception; } 2.Callable和Runnable的異同 先看下Runnable接
原创 springMVC:HandlerInterceptor攔截器的使用
1.使用背景 Web項目中需要判斷http接口用戶Post上來的數據是否合法,如果不合法要另做處理,用戶Post上來的數據是Json形式的,我們用了@RequestBody標記自動將json形式的提交封裝爲一個Model對象,這樣一來,
原创 Google Guava緩存實現接口的限流
一.項目背景 最近項目中需要進行接口保護,防止高併發的情況把系統搞崩,因此需要對一個查詢接口進行限流,主要的目的就是限制單位時間內請求此查詢的次數,例如1000次,來保護接口。 參考了 開濤的博客聊聊高併發系統限流特技 ,學習了其中利用
原创 springMVC:HandlerInterceptor攔截器的使用
1.使用背景 Web項目中需要判斷http接口用戶Post上來的數據是否合法,如果不合法要另做處理,用戶Post上來的數據是Json形式的,我們用了@RequestBody標記自動將json形式的提交封裝爲一個Model對象,這樣一來,我