原创 一文讓你懂得Springboot2.X + Nacos + Sentinel使用

文章目錄摘要一、項目結構二、技術架構三、Nacos介紹1.簡介2.生態圖3.依賴四、服務註冊與調用1.provider配置五、NacosConfig1.NacosConfig配置六、Sentinel介紹1.簡介2.依賴3.配置4.

原创 一張圖看懂RabbitMQ消息可靠性投遞,防止重複消費措施

更多詳細說明以及配置,請點擊項目地址項目地址:

原创 SpringBoot整合Kafka實現生產與消費

文章目錄一、Kafka是什麼?二、ApacheKafka®是一個分佈式流媒體平臺。這到底是什麼意思呢?2.1流媒體平臺有三個關鍵功能:2.2Kafka通常用於兩大類應用:三、Kafka安裝3.1下載kafka3.2安裝配置wind

原创 ArrayList源碼解讀

ArrayList源碼解讀 由於本文內容較長,還請各位耐心閱讀 ArrayList類圖 ArrayList API 源碼解讀 public class ArrayList<E> extends AbstractList<E

原创 Springboo整合tRabbitMQ

文章目錄一、RabbitMQ 簡介1.1 "Hello World!"1.2 Work Queues1.3 Publish/Subscribe1.4 Routing1.5 Topics1.6 RPC二、項目整合2.1 配置文件2.

原创 MongoDB學習記錄

MongoDB學習記錄 MongoRepository使用 @Repository public interface SysMenuRepository extends MongoRepository<SysMenu,String

原创 Dubbo+Dubbo-Admin+ZK+Boot-2.XX完美實現分佈式治理

前言 這是本文的代碼地址 https://github.com/Dylan-haiji/javayh-cloud/tree/javayh-dubbo/javayh-dubbo 歡迎各位star Dubbo背景 隨着Intern

原创 Springboot2.X+Elasticsearch 實現分詞搜索

Elasticsearch 安裝 具體安裝步驟網上很多,大家可以借鑑一下; 關於分詞插件的安裝可以執行一下命令: 拼音插件 ./bin/elasticsearch-plugin install https://github.co

原创 Java設計模式之策略者模式

策略者模式 簡單的說就是提供一種策略,實現不同的結果展示 例: 比如我們需要根據某個條件去判斷用戶具有的權限,我們會寫很多的if(){}這樣的判斷,而策略者就是爲了解決這樣的問題; 當然他也很多缺點,還是要根據實際情況進行應該

原创 JAVA多線程創建、使用看這一篇就夠了

多線程 Java 給多線程編程提供了內置的支持。 一條線程指的是進程中一個單一順序的控制流,一個進程中可以併發多個線程,每條線程並行執行不同的任務。 多線程是多任務的一種特別的形式,但多線程使用了更小的資源開銷。 這裏定義和線程

原创 SpringBoot + MybatisPlus實現敏捷開發

MyBatisPlus簡潔 MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,爲簡化開發、提高效率而生。 願景 我們的願景是成爲 MyBatis 最好的搭檔,

原创 jdk1.8 HashMap源碼解讀

HashMap繼承關係 HashMap幾個關鍵常量 //默認初始化數量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大容量 stati

原创 Docker從安裝到入門到項目部署

Docker簡介 Docker Community Edition(CE)非常適合希望開始使用Docker並嘗試使用基於容器的應用程序的開發人員和小型團隊。Docker CE有三種類型的更新通道:stable,test和nigh

原创 SpringCloud+OAuth2 統一權限驗證

OAuth2 權限統一驗證 OAuth2簡介 OAuth2.0是OAuth協議的延續版本,但不向後兼容OAuth 2.0即完全廢止了OAuth1.0。 OAuth 2.0關注客戶端開發者的簡易性。要麼通過組織在資源擁有者和HTT

原创 常用DateUtil

導語 最近項目中用到一些時間的操作,當然我們可以選擇lang3,或者其他三方的jar,來進行操作,小編將項目中用到的一些用於的時間工具整理了一下,給大家參考一下! 先給大家展示一下使用及效果 使用 @GetMapping(valu