原创 基於文檔註釋-java接口文檔生成工具(代碼0侵入)

本文主要分享一個基於個人興趣,旨在提高工作效率,開發了一個接口文檔生成工具,歡迎大佬指點。 1.前置介紹 1.1前世 現在大多數項目都走向了前後端分離,前後端並行開發,這就需要後端同學在開發前先寫好接口文檔。很多時候開發人員一

原创 緩存穿透與雪崩

常見緩存使用場景 優點: 加速讀寫 降低後端負載 缺點: 數據的不一致性 代碼維護成本 運維成本 一、緩存穿透 什麼是緩存穿透? 查詢一個一定不存在的數據,由於緩存是不命中時需要從數據庫查詢,查不到數據則不寫入緩存,這

原创 PageHelper參數配置supportMethodsArguments踩過的坑

問題現象 帶有Limit 的 SQL都默認在後邊繼續拼接了 limit ?,? 導致SQL語法報錯 ; pageHelper 難道不是必須開啓才能使用嗎 ?自動拼接什麼鬼?? PageHelper.startPage(1,10)

原创 Java(Springboot)應用註冊成Windows服務實現自啓

實現方式: 使用NSSM 使用教程 1、下載nssm下載地址:http://www.nssm.cc/download 2、下載下來之後是一個壓縮包,解壓找到對應自己系統的32/64位的nssm.exe。 把其拷貝到需要

原创 Redis介紹

1. 什麼是redis redis是一種基於鍵值對(key-value)緩存數據庫 特點: 1)純內存操作,Redis的性能非常出色,每秒可以處理超過 10萬次讀寫操作,是已知性能最快的Key-Value DB 2)Redis最大

原创 樹結構表3種設計分析與分享

簡介 在開發中經常遇到樹形結構的場景,本文將以部門表爲例對比幾種設計的優缺點; 問題 需求背景:根據部門檢索人員,問題:選擇一個頂級部門情況下,跨級展示當前部門以及子部門下的所有人員,表怎麼設計更合理 ? 遞歸嗎 ?遞歸可以解決

原创 Apollo命名空間介紹

每一個命名空間都是一個配置文件可以將一些配置拆分成多個配置,統一引用 比如一個雙數據源的項目主庫配置可以放在 application 命名空間中 新增一個私有的數據庫二的命名空間 示例 命名空間配置 項目中引用示例 # apo

原创 Springboot中Aspect切面介紹與使用實例

本文主要介紹切面,實例介紹了日誌處理,與自定義註解捕獲等,文章末附源碼地址 簡介 AOP爲Aspect Oriented Programming的縮寫, 意爲:面向切面編程,通過預編譯方式和運行期動態代理實現程序功能的統一維護的一

原创 Springboot開發web項目使用註解做參數校驗[附源碼]

在接口開發中,避免不了一些參數校驗,本文主要介紹,基於註解+springboot 統一異常處理做參數校驗。 1.搭建一個SpringBoot 項目 可參考: SpringBoot快速創建 2.添加參數校驗依賴 注:本文使用的是版本

原创 Apollo配置中心介紹

簡介 Apollo(阿波羅)是攜程框架部門研發的分佈式配置中心。 服務端基於Spring Boot和Spring Cloud開發,打包後可以直接運行,不需要額外安裝Tomcat等應用容器。 Apollo和Spring Cloud

原创 Dubbo環境搭建(ZooKeeper+Dubbo Admin)

1.簡介 Dubbo是一種分佈式的服務器框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。主要用於解決負載均衡、容災等問題。 其基本原理可以通過一張圖來概括 節點 角色說明 Provider 暴露服務的

原创 Java 8常用新特性Lambda表達式與Stream API使用實例

Java8 新增了很多特性,本文主要介紹使用: Lambda 表達式 − Lambda允許把函數作爲一個方法的參數。 Stream API −新添加的Stream API(java.util.stream) 函數式編程風格的引入。

原创 SpringBoot整合阿里雲ACM應用配置服務實現動態配置

1.開通阿里雲Acm服務 打開ACM 產品主頁 https://www.aliyun.com/product/acm 登錄賬戶並開通服務 2.阿里雲Acm控制檯 2.1主頁截圖 ​​ 2.2命名空間詳情 ​​ 3.添加Maven依賴

原创 Java 重入鎖 ReentrantLock使用實戰

1.簡述 ReentrantLock 是一個可重入的互斥(/獨佔)鎖,又稱爲“獨佔鎖”。 其可以完全替代 synchronized 關鍵字。JDK 1.5.0 引入的,其性能遠好於 synchronized,但 JDK 1.6.0 開

原创 Java中Synchronized的使用

在編程中,經常需要用到同步,這裏講一下synchronized關鍵字的相關知識 1.使用方式 修飾一個代碼塊,被修飾的代碼塊稱爲同步代碼塊,作用範圍是大括號{}括起來的代碼; 修飾一個方法,被修飾的方法稱爲同步方法,其作用範圍是整個