原创 Spring Security技術棧學習筆記(六)使用REST方式處理文件服務

Spring Boot實現文件的上傳和下載十分便捷,之前已經寫了一篇關於Spring Boot實現文件上傳的博客,用的是瀏覽上傳的,而本篇博客使用的是代碼模擬上傳,兩種方式不一樣,可以參考一下。 一、文件上傳 通過RESTfu

原创 Spring Security技術棧學習筆記(五)使用Filter、Interceptor和AOP攔截REST服務

一般情況,在訪問RESTful風格的API之前,可以對訪問行爲進行攔截,並做一些邏輯處理,本文主要介紹三種攔截方式,分別是:過濾器Filter、攔截器Interceptor以及面向切面的攔截方式AOP。 一、使用過濾器Filt

原创 Spring Security技術棧學習筆記(十三)Spring Social集成第三方登錄驗證開發流程介紹

開發第三方登錄,我們必須首先要了解OAuth協議(本文所講述的OAuth協議指的是OAuth2協議),本文首先簡單介紹OAuth協議,然後基於Spring Social來闡述開發第三方登錄需要做哪些準備工作。 一、OAuth協

原创 Spring Security技術棧學習筆記(二)RESTful API詳解

RESTful一種軟件架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和服務器交互類的軟件。基於這個風格設計的軟件可以更簡潔,更有層次,更易於實現緩存等機制。本篇博客主要講述使用Spring M

原创 深入理解分佈式鎖

分佈式應用經常會遇見併發問題,如果併發問題處理不好,會產生數據的異常問題,這是一個程序的致命問題,所以對於併發問題,必須的設計一個好的方法來處理它,分佈式鎖就是解決併發問題的一個比較常用的手段。 一、併發問題的引入 假設這裏有

原创 深入理解JDK8 HashMap

筆者在上一篇文章《深入理解JDK7 HashMap》中詳細解析了HashMap在JDK7中的實現原理,主要是圍繞其put、get、resize、transfer等方法,本文將繼續解析HashMap在JDK8中的具體實現,首先也將

原创 深入理解JDK7 HashMap

在日常開發中,集合作爲存儲數據的容器,被廣泛使用在程序代碼中,本文將從JDK集合類代表HashMap出發,着重理解HashMap底層實現。 一、Map家族關係圖 在正式討論HashMap之前,我們有必要把Map家族的繼承實現關