原创 程序員面試中一面、二面、三面有什麼區別?

很多公司面試都分一面、二面、三面甚至更多,大家可能會好奇,爲什麼要面這麼多面,每一面又有啥區別呢? 首先我來回答下爲什麼要這麼多面,最核心的是最後3點: 如果光是一個人面,擔心會看走眼; 面試通過最後的結果就是加入團隊,那麼要加入團長,怎

原创 高併發系統設計的15個錦囊

記得很久之前,去面試過字節跳動。被三面的面試官問了一道場景設計題目:如何設計一個高併發系統。當時我回答得比較粗糙,最近回想起來,所以整理了設計高併發系統的15個錦囊,相信大家看完會有幫助的。 如何理解高併發系統 所謂設計高併發系統,就是設

原创 Java中不可或缺的關鍵字「volatile」

什麼是volatile關鍵字 volatile是Java中用於修飾變量的關鍵字,其可以保證該變量的可見性以及順序性,但是無法保證原子性。更準確地說是volatile關鍵字只能保證單操作的原子性, 比如x=1 ,但是無法保證複合操作的原子性,

原创 Reids的BigKey和HotKey

1.什麼是BigKey和HotKey 1.1.Big Key Redis big key problem,實際上不是大Key問題,而是Key對應的value過大,因此嚴格來說是Big Value問題,Redis value is too l

原创 爲什麼說IO密集型業務,線程數是CPU數的2倍?

I/O密集型業務,線程數量要設置成 CPU 的 2 倍! 也不知道這是哪本書的坑爹理論,現在總有一些小青年老拿着這樣的定理來說教。說的信誓旦旦,毋庸置疑,彷彿是權威的化身。討論時把這樣的理論當作前提,真的是受害不淺。 但可惜的是,這樣的理論

原创 Spring Security怎麼添加圖片驗證功能? 前言 本章內容 思路 方案

前言 Spring security添加圖片驗證方式,在互聯網上面有很多這種博客,都寫的非常的詳細了。本篇主要講一些添加圖片驗證的思路。還有前後端分離方式,圖片驗證要怎麼去處理? 本章內容 圖片驗證的思路 簡單的demo 思路 小白:

原创 搞定 Redis 數據存儲原理,別隻會 set、get 了 1.2.1 數據存儲原理 redisDb dict redisObject

我的核心模塊如圖 1-10。 圖 1-10 Client 客戶端,官方提供了 C 語言開發的客戶端,可以發送命令,性能分析和測試等。 網絡層事件驅動模型,基於 I/O 多路複用,封裝了一個短小精悍的高性能 ae 庫,全稱是 a simp

原创 ClassLoader 隔離性的基石是namespace,證明給你看

一、背景 朋友:在我知識體系中ClassLoader的雙親委派機制是流暢絲滑的,可是看到通過委派執行類加載來保障這種分治能力,進而達到了類資源的隔離性突然就感覺有點陌生和排斥呢? 我:類的命名空間有了解嘛? 朋友:你是說package嘛?

原创 體驗百度Java後端一面涼經,讓我有了新的感悟

一共48min,面試官沒開攝像頭 都已經打算去b站了,然後百度突然問我有沒有時間面試,我一看,好傢伙,投遞記錄是11.11,拖到十二月才面試,估計是哪個老哥run了,招新人 自我介紹 你瞭解的Java集合體系 hashset存儲對象怎麼進

原创 多線程永動任務設計與實現

今天教大家擼一個 Java 的多線程永動任務,這個示例的原型是公司自研的多線程異步任務項目,我把裏面涉及到多線程的代碼抽離出來,然後進行一定的改造。 裏面涉及的知識點非常多,特別適合有一定工作經驗的同學學習,或者可以直接拿到項目中使用。 文

原创 新來了個同事,設計模式用的是真優雅呀!代碼如詩!!

之前有小夥伴私信我說看源碼的時候感覺源碼很難,不知道該怎麼看,其實這有部分原因是因爲沒有弄懂一些源碼實現的套路,也就是設計模式,所以本文我就總結了9種在源碼中非常常見的設計模式,並列舉了很多源碼的實現例子,希望對你看源碼和日常工作中有所幫助

原创 太捲了!5年Java程序員竟然答不出應屆生字節二面? 一面 八股: 二面

11.22一面過 11.23二面掛 上一個部門寄了,給我換了個流程唉 一面 面試官問我,三面面評這麼好爲啥不繼續了,我納悶了,不是你們掛的我嗎 介紹項目,點贊是怎麼考量的,熱度點贊問題怎麼解決,具體怎麼實現。 怎麼防止用戶刷點贊接口等等,一

原创 分佈式鎖主動續期的入門級實現-自省 | 簡約而不簡單

一、背景 如果某個客戶端獲得鎖之後處理時間超過最大約定時間,或者持鎖期間內發生了故障導致無法主動釋放鎖,其持有的鎖也能夠被其他機制正確釋放,並保證後續其它客戶端也能加鎖,整個處理流程繼續正常執行。 簡單解釋一下: 客戶端搶到分佈式鎖之

原创 爲什麼我們家裏的IP都是192.168開頭的?

爲什麼我們家裏的IP都是192.168開頭的? IP地址是什麼 我們知道,網絡通訊的本質就是收發數據包。如果說收發數據包就跟收發快遞一樣。那IP地址就類似於快遞上填的收件地址和發件地址一樣,有了它,路由器就可以開始充當快遞員的角色,在這個紛

原创 構建高性能內存隊列:Disruptor yyds~

Java中有哪些隊列 ArrayBlockingQueue 使用ReentrantLock LinkedBlockingQueue 使用ReentrantLock ConcurrentLinkedQueue 使用CAS 等等 我們