原创 雙刃劍:多線程會導致的問題

線程安全 什麼是線程安全 權威書籍描述: 《Java Concurrency In Practice》的作者 Brian Goetz 對“線程安全”有一個比較恰當的定義:當多個線程訪問一個對象時,如果不用考慮這些線程在運行時環境下

原创 Spring IOC 如何實現?

什麼是 IOC? IOC(Inversion of Control),即控制反轉,是 Spring Core 最核心的部分,是一種設計思想 需要先了解依賴注入 DI 什麼是 DI? DI(Dependency Injecti

原创 死鎖——銀行轉賬問題

在【死鎖】這一篇文章中,我們學習了死鎖相關的理論知識,本篇文章來看看死鎖案例——銀行轉賬問題,以銀行轉賬問題來討論死鎖、死鎖的定位、死鎖的修復。 相互轉賬要點分析 需要兩把鎖 獲取兩把鎖成功,且餘額大於0,則扣除轉出人,增加

原创 死鎖——哲學家就餐問題

在【死鎖】這一篇文章中,我們學習了死鎖相關的理論知識,本篇文章來看看死鎖案例——哲學家就餐問題,這篇文章主要來討論就餐問題的死鎖和多種死鎖修復的方法。 哲學家就餐 問題描述 看上圖,有五位哲學家,面前都有一個盤子,盤子左邊和

原创 線程的未捕獲異常如何處理?

線程的未捕獲異常UncaughtException應該如何處理? 爲什麼需要UncaughtExceptionHandler? 主線程可以輕鬆發現異常,子線程卻不行 子線程異常無法用傳統方法捕獲 不能直接捕獲的後果、提高健壯性

原创 Spring Security(二):Spring Security的初始搭建以及基本原理

什麼是 Spring Security? Spring Security是一個能夠爲基於Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組可以在Spring應用上下文中配置的Bean,充分利用了S

原创 Redis 緩存的使用與優化

緩存的使用與設計 緩存的收益與成本 緩存更新策略 緩存粒度控制 緩存穿透優化 緩存無底洞問題 緩存雪崩優化 熱點key重建優化 緩存降級 緩存的收益與成本 收益 加速讀寫 降低後端負載,例如使用 redis 降低 mysql

原创 項目掘金(一):反射之隨心所欲的方法調用

人生很短,願你能胸襟開闊,去容納山海貧瘠,去揮霍青澀蹉跎,去寄託歲月巍峨,去盡情耗盡所有的愛恨枯竭。 場景描述 在進行接口調試的時候,一般都會使用Postman進行接口調用調試,即直接填上請求路徑,請求參數,然後點擊直接對後

原创 【持續更新】Java面試題大全及解答

-------------- 基礎篇 -------------- 基本功 面向對象的特徵 final、finally、finalize 的區別 int 和 Integer 有什麼區別 重載和重寫的區別 抽象類和接口有什麼區別

原创 Spring Security(十一):退出登錄

這一篇就來講講如何退出登錄的一些處理,包括如何退出登錄、Spring Security默認的退出處理邏輯以及退出登錄相關的配置項。 退出處理 如何退出登錄 登錄頁 <!DOCTYPE html> <html> <head>

原创 Spring Security(十二):Spring Security OAuth介紹

我們之前實現的登錄方式,登陸成功以後用戶信息都是存在服務器Session中,把新建的SESSIONID再寫到瀏覽器的Cookie,然而Cookie是瀏覽器獨有的機制,對於APP或者小程序,Cookie+Session方式的登錄流

原创 Spring Security(九):OAuth2.0協議

之前文章都是講解的用戶名或者短信登錄認證的方式,這節開始學習第三方授權認證的登錄方式,在學習授權登錄之前就不得不先學習OAuth2.0協議的相關知識,一起來看看吧! 什麼是OAuth2.0? 百科解讀 OAuth(開放授權)

原创 單例模式的9種寫法

1.餓漢式(靜態常量) 推薦指數:★★☆☆☆ 優點:不會有線程安全問題。 缺點:在類加載的時候就創建對象,如果一直沒使用到該對象的話,就造成了內存浪費,如果對象初始化的工作很多也會影響性能。 public class Single

原创 活鎖——牛郎織女的幸福生活

從前,有一對非常恩愛的夫妻,他們都有一顆謙讓的心,但家境卻不是很好,吃了上頓沒下頓,於是,當他們有食物的時候,他們會優先考慮對方,如果對方餓的話,就讓給對方喫,等對方喫飽了自己才喫,這種美德本身是好的,但是如果一味的謙讓,也會發

原创 Spring Security(十):Session管理

什麼是Session?我們都知道Session是服務器端記錄用戶狀態的機制,用戶是否登錄、是否被擠兌、是否限制登錄、登錄狀態是否過期等等都是關於它的事,那麼Spring Security中是如何管理Session的呢,一起來了解