原创 消息隊列( RocketMQ )連殺

以下問題中的回答基於 RocketMQ 來回答. 爲什麼要用 MQ 異步、解耦、削峯 (然後具體針對業務說下即可) eg. 業務場景: 保單創建後需要通知財務系統、通知客戶系統、郵件系統、短信系統 異步: 如果都同步調用,那麼

原创 SpringBoot 整合 Mybatis/Druid/Quartz

SpringBoot 整合Mybatis/Druid/Quartz 由於項目中定時任務逐漸增多,對系統的壓力也慢慢增加。故打算將系統中的定時任務抽離出來。初步決定使用 SpringBoot+mybatis+quartz 的整合方式

原创 MySql 5.7.18免安裝版安裝使用

安裝過程記錄 由於公司對電腦安全做了較多的限制。自己無法使用MySql的msi文件來安裝Mysql。於是下了個mysql的zip壓縮包來使用。 Mysql下載地址,我下的是版本爲mysql-5.7.18-winx64.zip 下載

原创 Apache RocketMQ 概覽

簡介 Apache RocketMQ 是阿里開源的一款高性能、高吞吐量的分佈式消息中間件。相比於 Kafka,其擁有更好的實時性和消息可靠性。更適用於和 Money 相關的系統。它支持如下特性: 訂閱/發佈模式的消息 支持消費

原创 Apache Kafka 概覽

簡介 Apache Kakfa 是一個分佈式流處理平臺,既可以當做普通的消息中間件用於消息發佈訂閱,也可以存儲並處理流式數據,其分佈式設計使得其有較好的容錯性,水平拓展性等。 通常可以用於當做消息訂閱發佈用於業務系統中,或者用於大

原创 面試複習整理

JAVA 一. Java 集合 資料: Java 集合學習指南 Java NIO 系列教程 常見問題: ConcurrentHashMap的實現實現原理,是如何實現高併發和同步的探索 ConcurrentHashMap高併發

原创 聊聊緩存

前言 如今開發一定規模的web系統時一般會在項目中加入緩存模塊塊來緩存數據以減輕數據庫的壓力。從而提高系統的訪問速度。最近的面試過程中也有不少是緩存相關的問題,那麼下面就來聊下期間被問到的一個緩存更新策略的問題。 我們以Redis

原创 JAVA併發編程:Synchronized和Lock

前言 Java多線程編程中,保證線程安全通常會使用到synchronized和Lock。那麼合適該使用synchronized,什麼時候該使用Lock呢。這個就需要我們對synchronized和Lock有個清晰的瞭解。 Loc

原创 項目架構圖

前言 前段時間一直在找工作,面試過程終於到了不少問題。有些是自己會的,有些是自己看過卻無法整理出來的(說到底是理解不夠透徹,記憶不夠深刻)。當然還有些是完全懵逼的。下面就來說下經常被問及,自己卻無法當場整理出來的一個問題。那就是讓

原创 記一次 Gradle Build 問題分析

問題出現 一次項目更新後,發現項目無法正常 build 了,出現如下報錯: error: cannot access DoNotMock class file for com.google.errorprone.annotat

原创 OTA 項目相關

名詞解釋 OTA Online Travel Agency:在線旅遊(OTA,全稱爲Online Travel Agency),是旅遊電子商務行業的專業詞語。指“旅遊消費者通過網絡向旅遊服務提供商預定旅遊產品或服務,並通過網上

原创 項目覆盤思考

對自己所參與過的事物做個覆盤是個好習慣,能讓自己對事物有個更深的瞭解。比如說,讀了一本書,那麼這個時候你需要回去思考:這本書講了些啥,對你有何影響;又或者,你參與了一個活動,你完了後,你也可以對其進行復盤,思考下這個活動的意義,這

原创 Flink 入門教程

大數據處理的應用場景 大數據是近些年纔出現的嗎,人們是近些年才發現大數據的利用價值的嗎?其實不然,早在幾十年前,數學分析就已經涉獵金融行業了,人們依託於金融和數學知識來建立數學模型,利用金融市場所產的數據來預測金融市場產品收益同風

原创 阿里監控診斷工具 Arthas 源碼原理分析

此前,阿里開源了 監控與診斷 工具 「 Arthas 」,一款可用於線上問題分析的利器,短期之內收穫了大量關注,在 Twitter 上連 Java 官方的 Twitter 也轉發了,真的很贊。 GitHub 上是這樣自述的: Art

原创 多線程和鎖連殺

什麼是線程,什麼是進程 進程:是併發執行的程序在執行過程中分配和管理資源的基本單位,擁有獨立的內存單元,是一個動態概念,競爭計算機系統資源的基本單位。 線程:是進程的一個執行單元,是進程內科調度實體。比進程更小的獨立運行的基本單位