原创 多個線程順序打印問題,一網打盡

大家在換工作面試中,除了一些常規算法題,還會遇到各種需要手寫的題目,所以打算總結出來,給大家個參考。 第一篇打算總結下阿里最喜歡問的多個線程順序打印問題,我遇到的是機試,直接寫出運行。同類型的題目有很多,比如 三個線程分別打印 A,B,C

原创 爛大街的 Spring 循環依賴問題,你覺得自己會了嗎

文章已收錄在 GitHub JavaKeeper ,N 線互聯網開發、面試必備技能兵器譜,筆記自取。 微信搜「 JavaKeeper 」程序員成長充電站,互聯網技術武道場。無套路領取 500+ 本電子書和 30+ 視頻教學和源碼。 前言

原创 不支持原子性的 Redis 事務也叫事務嗎?

文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 假設現在有這樣一個業務,用戶獲取的某些數據來自第三方接口信息,爲避免頻繁請求第三方接口,我們往往會加一層緩存,緩存肯定要有時效性,假設我們要存儲的結構是

原创 Kafka 爲什麼快

Kafka 爲什麼能那麼快 | Kafka高效讀寫數據的原因 無論 kafka 作爲 MQ 也好,作爲存儲層也罷,無非就是兩個功能(好簡單的樣子),一是 Producer 生產的數據存到 broker,二是 Consumer 從 broke

原创 10種常見OOM分析——手把手教你寫bug

點贊+收藏 就學會系列,文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜,筆記自取 在《Java虛擬機規範》的規定裏,除了程序計數器外,虛擬機內存的其他幾個運行時區域都有發生 OutOfMemoryErr

原创 2萬字長文包教包會 JVM 內存結構 保姆級學習筆記

寫這篇的主要原因呢,就是爲了能在簡歷上寫個“熟悉JVM底層結構”,另一個原因就是能讓讀我文章的大家也寫上這句話,真是個助人爲樂的帥小夥。。。。嗯,不單單只是面向面試學習哈,更重要的是構建自己的 JVM 知識體系,Javaer 們技術棧要有

原创 你有認真瞭解過自己的“Java對象”嗎? 渣男

對象在 JVM 中是怎麼存儲的 對象頭裏有什麼? 文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜,有你想要的。 作爲一名 Javaer,生活中的我們可能暫時沒有對象,但是工作中每天都會創建大量的 Java

原创 布隆過濾器,你也可以處理十幾億的大數據

文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 什麼是 BloomFilter 布隆過濾器(英語:Bloom Filter)是 1970 年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數

原创 阻塞隊列——手寫生產者消費者模式、線程池原理面試題真正的答案

阻塞隊列——手寫生產者消費者模式、線程池原理面試題真正的答案 文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 隊列和阻塞隊列 隊列 隊列(Queue)是一種經常使用的集合。Queue實際上是實現了一個先進

原创 Java集合面試題彙總篇

文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 作爲一位小菜 ”一面面試官“,面試過程中,我肯定會問 Java 集合的內容,同時作爲求職者,也肯定會被問到集合,所以整理下 Java 集合面試題 說說常

原创 Git使用規範那些事

文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 Git 使用規範 團隊開發中,遵循一個合理、清晰的 Git 使用流程,是非常重要的。 否則,各種不清晰的分支結構,後續產品迭代或維護都會讓人很頭疼,再如果每

原创 責任鏈模式——更靈活的if else

責任鏈模式 責任鏈,顧名思義,就是用來處理相關事務責任的一條執行鏈,執行鏈上有多個節點,每個節點都有機會(條件匹配)處理請求事務,如果某個節點處理完了就可以根據實際業務需求傳遞給下一個節點繼續處理或者返回處理完畢。 這種模式給予請求的類型,

原创 Github 騷操作

GitHub 竟然有這些騷操作,真是漲姿勢 GitHub,不用過多介紹。一個面向開源及私有軟件項目的託管平臺,因爲只支持 git 作爲唯一的版本庫格式進行託管,故名 GitHub。 作爲「全球最大的程序員“交友”社區」,程序員的你,真的可以

原创 時間複雜度到底怎麼算

高級工程師title的我,最近琢磨着好好刷刷算法題更高級一些,然鵝,當我準備回憶大學和麪試時候學的數據結構之時,我發現自己對這個算法複雜度的記憶只有OOOOOooo 文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能

原创 觀察者模式——從JDK到Spring

文章收錄在 GitHub JavaKeeper ,N線互聯網開發必備技能兵器譜 在軟件系統中經常會有這樣的需求:如果一個對象的狀態發生改變,某些與它相關的對象也要隨之做出相應的變化。 微信公衆號,如果一個用戶訂閱了某個公衆號,那麼便