原创 JDK20正式發佈了GA版本,短期維護支持,以及JDK21預覽

最近,Oracle發佈了JDK20,相比對於Java開發者來說,JDK的發版是比較收關注的事情了,小簡也來和大家一起了解了解JDK20發生了什麼變化呢? 首先,JDK20是一個短週期版本,有6個月的維護時間,據開發者計劃,下一個LTS也就

原创 從反脆弱角度說一說:技術系統高可用性策略

1 非線性 我們先來介紹一個概念:非線性。這個概念在我們的生活中無處不在。 你要趕早上8點鐘的火車,如果6:30出發可以在7:00到達車站,於是你得到一個結論:只要30分鐘就可以到達車站。 你早上想睡晚一點預計7:10出發,想着7:40可以

原创 100Wqps短鏈系統,怎麼設計?

這段時間,在整理知識星球中面試專欄時看到這麼一個字節跳動的二面真題:100Wqps短鏈系統,怎麼設計? 這道題,看上去業務簡單,其實,覆蓋的知識點非常多: 高併發、高性能分佈式 ID Redis Bloom Filter 高併發、低內存損

原创 學會用規則引擎Drools,讓你早點下班 總結

前言 現在有這麼個需求,網上購物,需要根據不同的規則計算商品折扣,比如VIP客戶增加5%的折扣,購買金額超過1000元的增加10%的折扣等,而且這些規則可能隨時發生變化,甚至增加新的規則。面對這個需求,你該怎麼實現呢?難道是計算規則一變,就

原创 經典神作!SpringBoot系列從入門到進階,徹底搞懂SpringBoot 內容展示:

現在企業中Springboot太重要了,不管是大互聯網公司比如阿里,還是小公司都在用springboot,現在分享一份學習資料希望能幫到大家。 SpringBoot系列從入門到進階官方小冊是SpringForAll社區整理的一份簡小而又實

原创 圖解Redis,談談Redis的持久化,RDB快照與AOF日誌

今天分享一下Redis的持久化、事務、管道相關的知識點,實現快速入門,豐富個人簡歷,提高面試level,給自己增加一點談資,秒變面試小達人,BAT不是夢。 Redis是一個鍵值對數據庫,服務器中通常包含着任意個非空數據庫,而每個非空數據庫中

原创 得物供應鏈複雜業務實時數倉建設之路 1 背景 2 架構演變 3 其他做的一些事情 4 未來規劃

1 背景 得物供應鏈業務是紛繁複雜的,我們既有 JIT 的現貨模式中間夾着這大量的倉庫作業環節,又有到倉的寄售,品牌業務,有非常複雜的逆向鏈路。在這麼複雜的業務背後,我們需要精細化關注人貨場車的效率和成本,每一單的及時履約情況,要做到這一點

原创 吹爆Alibaba自研的Spring全能筆記,建議人手一份! 第一大部分:前置知識 第二大部分:基礎應用部分 第三部分:高級部分

Spring 這個技術棧,想必大家都知道,這玩意麪試必考工作必用,對於每位 Java 程序員來說都是至關重要的;俗話說 Java 開發不學習 Spring 就像士兵上戰場不帶槍,我認爲這個比喻很形象。Spring 幾乎佔據了 Java we

原创 一個詭異的 Pulsar InterruptedException 異常 背景 前置排查 Pulsar 源碼排查 定位問題 總結

背景 今天收到業務團隊反饋線上有個應用往 Pulsar 中發送消息失敗了,經過日誌查看得知是發送消息時候拋出了 java.lang.InterruptedException 異常。 和業務溝通後得知是在一個 gRPC 接口中觸發的消息發送

原创 IO:阻塞和非阻塞、同步和異步 阻塞和非阻塞 在IO中的體現

阻塞和非阻塞 阻塞的時候線程會被掛起 阻塞: 當數據還沒準備好時,調用了阻塞的方法,則線程會被掛起,會讓出CPU時間片,此時是無法處理過來的請求,需要等待其他線程來進行喚醒,該線程才能進行後續操作或者處理其他請求。 非阻塞: 意味着,當

原创 微服務架構中的多級緩存設計還有人不懂?

今天我們來聊聊緩存這個話題,看看在微服務環境下如何設計有效的多級緩存架構。主要涉及三方面內容: Web 應用的客戶端緩存; 應用層靜態資源緩存; 服務層多級緩存。 首先,咱們先講解微服務架構的多級緩存設計。 微服務架構中的多級緩存設計

原创 GitHub標星30K+的Java面試八股文長啥樣?

2023年的互聯網行業競爭越來越嚴峻,面試也是越來越難,一直以來我都想整理一套完美的面試寶典,奈何難抽出時間,這套1000+道的Java面試手冊我整理了整整1個月,上傳到Git上目前star數達到了30K+ 一、32 道 MySQL 面

原创 搞懂Druid之連接創建和銷燬

前言 Druid是阿里開源的數據庫連接池,是阿里監控系統Dragoon的副產品,提供了強大的可監控性和基於Filter-Chain的可擴展性。 本篇文章將對Druid數據庫連接池的連接創建和銷燬進行分析。分析Druid數據庫連接池的源碼前,

原创 存儲拆分後,如何解決唯一主鍵問題? UUID 數據庫自增ID 改造時間戳 全局ID生成器服務 雪花算法

在單庫單表時,業務 ID 可以依賴數據庫的自增主鍵實現,現在我們把存儲拆分到了多處,如果還是用數據庫的自增主鍵,就會出現主鍵重複的情況。 所以我們不得不面對的一個選擇,就是ID生成器,使用一個唯一的字符串,來標識一條完整的記錄。 這時候,不

原创 探討MySQL事務特性和實現原理

一、概念 事務 一般指的是邏輯上的一組操作,或者作爲單個邏輯單元執行的一系列操作,一個事務中的所有操作會被封裝成一個不可分割的執行單元,這個單元的所有操作要麼全部執行成功,要麼全部執行失敗,只要其中任意一個操作執行失敗,整個事務就會執行回