原创 synchronized鎖的常用方法以及原理

一 :sync的三種常用方式 修飾實例方法,作用於當前實例加鎖,進入同步代碼前要獲得當前實例的鎖 修飾靜態方法,作用於當前類對象加鎖,進入同步代碼前要獲得當前類對象的鎖 修飾代碼塊,指定加鎖對象,對給定對象加鎖,進入同步代碼庫前

原创 springboot+redis實現分佈式鎖

原文鏈接:https://blog.csdn.net/weixin_41491254/article/details/96367674 一,分佈式鎖誕生的原因 爲什麼分佈式鎖會誕生?類似於淘寶雙11的秒殺活動,同一件商品怎麼才

原创 ApplicationListener和ContextRefreshedEvent

實際開發中,ApplicationListener和ContextRefreshedEvent一般都是一個類去實現ApplicationListener 接口來使用的; 1):底層原理是什麼? org.springframewor

原创 ApplicationContextAware的使用

ApplicationContextAware怎麼用 (1)方法類AppUtil實現ApplicationContextAware接口 @Component public class AppUtil implements Appl

原创 Dubbo工作流程總結以及常見問題總結

面試題: 說一下的 dubbo 的工作原理?註冊中心掛了可以繼續通信嗎?說說一次 rpc 請求的流程? 面試官心理分析 MQ、ES、Redis、Dubbo,上來先問你一些思考性的問題、原理,比如 kafka 高可用架構原理、es

原创 面試總結之[JVM虛擬機]

1:JVM生命週期 1:啓動。啓動一個Java程序時,一個JVM實例就產生了,任何一個擁有public static void main(String[] args)函數的class都可以作爲JVM實例運行的起點。 2:運行。main(

原创 面試總結之[分佈式鎖]

分佈式鎖應用最廣的應該就是秒殺時庫存的-1;此時我們可以採用redis的樂觀鎖和悲觀鎖實現: 需要考慮的問題: 1、用什麼操作redis?幸虧redis已經提供了jedis客戶端用於java應用程序,直接調用jedis API即可。 2、

原创 ArrayList底層實現原理

一、 ArrayList概述: ArrayList是基於數組實現的,是一個動態數組,其容量能自動增長,類似於C語言中的動態申請內存,動態增長內存。 ArrayList不是線程安全的,只能用在單線程環境下,多線程環境下可以考慮用Coll

原创 HashMap的底層剖析

HashMap是基於哈希表的Map接口的非同步實現,Java最基本數據結構就是兩種,一種是數組,一種是引用。所有的數據結構都可以用這兩個基本結構來構造的,HashMap也不例外。HashMap實際上是一個“鏈表散列”的數據結構,即數組和鏈

原创 面試總結之[JDK1.8新特性]

這幾天面試中,問到JDK的基本都會問到有關JDK1.8的新特性,基於這點,自己簡單總結了下; 看到網上有個人總結了這樣一句話,感覺比較通俗易懂; 速度更快 – 紅黑樹 代碼更少 – Lambda 強大的Stream API – St