原创 學習 DDD - 通用語言的模式

大家好,我是霸戈,這周學習了一些關於領域驅動設計的知識 ,對比較深刻的地方做了不少筆記,分享給大家。 在日常需求討論的時候,經常會碰到一個需求會議開了一個多小時還沒有達成共識。作爲業務方(領域專家)明明表達的很清楚,但是開發人員卻始終無法

原创 學習 DDD 之消化知識!

接觸到DDD到現在已經有8個月份了,目前所維護的項目也是基於DDD的思想開發的,從一開始的無從下手,到現在遊刃有餘,學到不少東西,但是都是一些關鍵字和零散的知識,同時我也感受到了是因爲我對項目越來越熟悉,熟能生巧導致我現在在做需求的時候根本

原创 “淘寶” 開放平臺接口設計思路

最近對接的開放平臺有點多,像淘寶、京東、快手、抖音等電商平臺的開放平臺基本對接了個遍,什麼是CRUD BODY也許就是這樣的吧!!! 雖然對接各大開放平臺沒啥技術含量,但咱也得學點東西不是,不能白對接哈!經過這幾天的整理,腦子裏大概有了個開

原创 長沙社區團購獨角獸《興盛優選》 18k 面試題記錄,已拿offer!

長沙或者想從北上廣大回長沙的小夥伴,應該都聽說過《興盛優選》,一家位於長沙市從事社區團購業務的獨角獸企業。 目前日訂單1000+萬,在長沙薪資也較有誘惑力,要不要來挑戰一下? 我在裏面潛伏過一段時間,發現裏面缺人非常嚴重,大家都知道長沙互聯

原创 MyBatis if 標籤的坑,居然被我踩到了。。。

事件的原因是這樣的,需求是按條件查數據然後給前端展示就行了,寫的時候想着挺簡單的,不就是使用 MyBatis 動態 SQL 去查詢數據嗎? 現實還是很殘酷的,等我寫完上完 UAT 後,前端同學說根據state查的數據與理想的數據不一致,這

原创 4 種高可用 RocketMQ 集羣搭建方案!

背景 筆者所在的業務線,最初化分爲三個服務,由於業務初期業務複雜度相對簡單,三個業務服務都能很好的獨立完成業務功能。 隨着產品迭代,業務功能越來越多後慢慢也要面對高併發、業務解耦、分佈式事務等問題,所以經過團隊內部討論,引入 RocketM

原创 Spring @Autowired 註解自動注入流程是怎麼樣?

面試中碰到面試官問:”Spring 註解是如果工作的?“,當前我一驚,完了這不觸及到我的知識誤區了嗎?,還好我機智,靈機一動回了句:Spring 註解的工作流程倒還沒有看到,但是我知道@Autowired註解的工作流程,後面不用說了一頓巴拉

原创 AQS 自定義同步鎖,挺難的!

AQS是AbstractQueuedSynchronizer的簡稱。 AbstractQueuedSynchronizer 同步狀態 AbstractQueuedSynchronizer 內部有一個state屬性,用於指示同步的狀態: pr

原创 這次一定讓你記住 TCP 三次握手、四手揮手!

TCP協議全稱爲:Transmission Control Protocol,是一種面向鏈接、保證數據傳輸安全、可靠的數據傳輸協議。爲了確保數據的可靠傳輸,不僅需要對發出的每個字節進行編號確認,還需要驗證每一個數據包的有效性。每個TCP數據

原创 【併發編程】MESI--CPU緩存一致性協議

https://www.cnblogs.com/shangxiaofei/p/5688296.html 概念 MESI(Modified Exclusive Shared Or Invalid)(也稱爲伊利諾斯協議,是因爲該協議由伊利諾

原创 想使用消息隊列,先考慮下這些問題!

原創:Java派(微信公衆號:Java派),歡迎分享,轉載請保留出處。 消息隊列優勢 消息隊列(Message Queue,簡稱MQ),其主要用於在複雜的微服務系統中進行消息通信,它的優點可以大致整理成以下幾點: 服務間解耦 提高服務

原创 你的“對象”啥時候會進入老年代?

前言 JVM堆中有新生代、老年代兩塊區域,因爲使用分代回收策略新生代還會劃分爲Eden和兩個Survivor區,JVM堆大概是這樣子: 程序運行過程中新產生的對象都會分配在Eden區,隨着時間的推移Eden區也是會滿的,那麼這個時候就會進

原创 JVM垃圾回收算法詳解

前言 在JVM內存模型中會將堆內存劃分新生代、老年代兩個區域,兩塊區域的主要區別在於新生代存放存活時間較短的對象,老年代存放存活時間較久的對象,除了存活時間不同外,還有垃圾回收策略的不同,在JVM中中有以下回收算法: 標記清除 標記整理

原创 大麥網搶票工具系列(一)

前言 《大麥網》都知道吧,就是那個被網友聲稱“大麥網你賣啥了?”票務平臺。近期有聽到朋友說《大麥網》的票很難搶,基本上都是說:“哎喲喂,被擠爆啦,請稍後重試!”,也不知道《大麥網》到底有沒有票!!! 言歸正傳,準備做個《大麥網》搶票的軟件,

原创 Docker部署Apollo配置中心

開始使用Docker部署Apollo配置中心之前,首先需要機器安裝Docker環境本文使用Vresion: 2.0.0.0-mac81 (29211)測試部署,並使用以下鏡像: mysql apollo-configservice apo