原创 自旋鎖原理及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對象,這樣一來,我