原创 面試官:Spring 創建Bean 時是怎樣判斷條件的?

我們在 Spring/ Spring Boot Starter 或者一些框架的源碼裏經常能看到類似如下的註解聲明,可能作用在類上,也可能在某個方法上: @ConditionalOnProperty(name = "spring.cloud.

原创 SpringBoot 如何解決項目啓動時初始化資源 前言: 正文:

前言: 在我們實際工作中,總會遇到這樣需求,在項目啓動的時候需要做一些初始化的操作,比如初始化線程池,提前加載好加密證書等。 今天就給大家介紹一個 Spring Boot 神器,專門幫助大家解決項目啓動初始化資源操作。 這個神器就是 Co

原创 Spring Boot 接口如何做限流?面試官問起如何作答 閱讀目錄: 前言 算法介紹 滑動窗口 漏桶算法 令牌桶算法 相關變種 臨界問題 總結

閱讀目錄: 1. 前言 2. 算法介紹-計數器法 3. 算法介紹-滑動窗口 4. 算法介紹-漏桶算法 5. 算法介 紹-令牌桶算法 前言 在一個高併發系統中對流量的把控是非常重要的,當巨大的流量直接請求到我們的服務器上沒多久就可能造成接

原创 SpringSecurity實戰:分佈式對象“可共享對象” 1. 前言 2. SharedObject SharedObject的註冊 SharedObject的獲取和使用

1. 前言 我們對 AuthenticationManager 的初始化的細節進行了分析,其中裏面有一段代碼引起了不少同學的注意: ApplicationContext context = http.getSharedObject(Appl

原创 SpringBoot 輕鬆整合 RocketMq,得勁

前言 使用Spring Boot 可以非常方便、快速搭建項目,使我們不用關心框架之間的兼容性,適用版本等各種問題,我們想使用任何東西,僅僅添加一個配置就可以。 提示:以下是本篇文章正文內容,下面案例可供參考 一、技術介紹 1.消息隊列是什麼

原创 2021,大廠架構師純手寫MySQL面試筆記,重出江湖,錘爆38K月薪,你值得擁有 MySQL基礎到高級到調優筆記 MySQL面試解析108題文檔

MySQL 作爲主流的數據庫,是各大廠面試官百問不厭的知識點,但是需要了解到什麼程度呢?僅僅停留在 建庫、創表、增刪查改等基本操作的水平可不夠。在面試後端開發的時候,一連幾個問題,簡直會被問到一臉懵逼。 MySQL 語句怎麼優化?分庫,分

原创 搞懂這道百度面試題:Spring 中 Bean 的生命週期 前言 一、Bean 的完整生命週期 Bean 完整的生命週期 二、Bean 的生命週期驗證

前言 這其實是一道面試題,是我在面試百度的時候被問到的,當時沒有答出來(因爲自己真的很菜),後來在網上尋找答案,看到也是一頭霧水,直到看到了《Spring in action》這本書,書上有對Bean聲明週期的大致解釋,但是沒有代碼分析,所

原创 面試官:高併發場景,你要如何實現系統限流? 1. 計數器法 2. 漏桶和令牌桶算法 不同限流算法的比較

如果不考慮高併發的情況,即使業務系統平時運行得好好的,併發量一旦增加就會頻繁出現各種詭異的業務問題,比如,在電商業務中,可能會出現用戶訂單丟失、庫存扣減異常、超賣等問題。 限流是服務降級的一種手段,顧名思義,通過限制系統的流量,從而實現保護

原创 畢設、實戰練習——springboot 搭建訪客管理系統 項目介紹 項目適用人羣 開發環境 所用技術 項目訪問地址 項目截圖 關鍵代碼: 注意事項

項目介紹 springboot搭建的訪客管理系統,針對高端基地做嚴格把控來訪人員信息管理,用戶後端可以設置多個管理員帳號,給予不同部門的管理層使用,用戶管理可以增加/修改內部成員的基本信息,需要到訪的人員必須通過進入程序,在訪客預約裏面提交

原创 原來弄懂Spring IOC(控制反轉),其實沒有那麼難 Spring IOC(控制反轉) 案例 如何解決問題 IOC思想

Spring IOC(控制反轉) IOC控制反轉基本理念就是將程序控制權從程序員手中交給用戶自定義,從而避免了因爲用戶一個小需求的變化使得程序員需要改動大量代碼。 案例 如果按照之前javaweb的固定方法,寫一個簡單的業務邏輯 1.一個

原创 Java面試必考題——ArrayList常見知識點 寫在之前 面試回顧 源碼 總結

寫在之前 對於ArrayList的面試題目網上比較多,但是大多數從ArrayList的數據結構出發,比如查找、修改的等效率問題分析,本篇文章想從併發的角度入手,給大家講講ArrayList的併發問題該如何回答。 面試回顧 通常容器之類的問題

原创 手把手玩項目——搭建Java共享網盤 項目介紹 項目適用人羣 開發環境: 所用技術: 項目訪問地址 項目結構 項目截圖 關鍵代碼:

項目介紹 在線共享網盤採用jsp+servlet搭建項目結構實現共享網盤,項目分爲管理員,普通用戶和付費用戶三種角色,根據不同角色控制不同權限,實現不同用戶對個人文件文件,所有文件,共享文件的增刪改查操作。 項目適用人羣 正在做畢設的學生,

原创 Strings=newString("xyz")創建幾個實例 從面試題說起 String結構 正常的問題與合理的解釋 分清變量和實例 類加載 JVM優化 klass-oop 字符串常量池 總結

從面試題說起 String s = new String("xyz"); 創建了幾個實例? 這是一道很經典的面試題,在一本所謂的Java寶典上,我看到的“標準答案”是這樣的: 兩個,一個堆區的“xyz”,一個棧區指向“xyz”的s。 這

原创 不懂看這——Mybatis執行流程源碼分析

第一部分:項目結構 user_info表:只有id和username兩個字段 User實體類: public class User { private String username; private String pass

原创 Java中讀寫鎖的設計以及實現,不懂進來 讀寫鎖遵守以下三條基本原則 讀寫鎖如何實現 獲取讀鎖 釋放讀鎖 獲取寫鎖 釋放寫鎖 鎖的降級 RRW需要注意的問題

針對讀多寫少的場景,Java提供了另外一個實現Lock接口的讀寫鎖ReentrantReadWriteLock(RRW),之前分析過ReentrantLock是一個獨佔鎖,同一時間只允許一個線程訪問。 而 RRW 允許多個讀線程同時訪問,但