原创 Java併發編程(五)--Condition

簡介 任意一個java.lang.Object都有一組監視器方法wait()、notify()、notifyAll(),通過這些方法和synchronized關鍵字配合使用可以實現等待/通知機制。通過這種機制可以輕而易舉的實現消費者、生產

原创 java8 lambda表達式原理

java8 lambda表達式原理 java8已經推出有一段時間了,相信有不少公司已經把jdk升級到8了,每次jdk的升級都會帶來一些性能以及應用上的優化,比如8移出了永久區,java.lang.OutOfMemoryError: Pe

原创 Java併發編程(二)--java線程安全的一些基礎

本文多摘自《java併發編程實戰》和各種網上資料,因爲java併發編程涉及內容太多,本文篇幅有限,只是對併發編程中的一些概念進行普及、和簡略說明 1.java併發編程 編寫正確的程序很難,編寫正確的併發程序則是難上加難,和串行編程相比,併

原创 Java併發編程(四)--Semaphore

1.簡介 java.util.concurrent.Semaphore是一個計數信號量類,維持一個許可集合。每個acquire方法調用如果必要會阻塞直到獲得一個可用許可。每個release調用增加一個許可。 在創建時可以傳入int pe

原创 springmvc限流攔截器

springmvc限流攔截器 限流器算法 目前常用限流器算法爲兩種:令牌桶算法和漏桶算法,主要區別在於:漏桶算法能夠強行限制請求速率,平滑突發請求,而令牌桶算法在限定平均速率的情況下,允許一定量的突發請求 下面是從網上找到的兩張算法圖示

原创 Java併發編程(一)--AbstractQueuedSynchronizer

簡介 java.util.concurrent.locks.AbstractQueuedSynchronizer 簡稱aqs,是J.U.C包中最核心的一個類。也是J.U.C包中其他同步器的基類,J.U.C包在JSR-166中引入,作者是D

原创 Java併發編程(三)--ReentrantLock

1.簡介 ReentrantLock是一個可重入(指持有鎖的線程可以進行多次加鎖、釋放鎖)的獨佔鎖實現,擁有和synchronized一樣的行爲和語義,並且對其做了一些擴展,如記錄持有者信息、Condition(以後的文章再講)支持等等。

原创 feign入門教程

feign入門教程 1.介紹 feign簡單來說是一個java http客戶端,用來減少http API調用的複雜性。spring-Cloud-Netflix中就集成了feign客戶端用來訪問遠程的http服務,不管是用來作爲遠程調用客戶