原创 SpringCloudAlibaba之Sentinel框架

一、Sentinel 介紹 隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。 https://github.com/alibaba/Sentinel[Sentinel] 以流量爲切入點,從流量控制、熔斷降級、系統負載保護等

原创 Redis集羣高可用

本文使用的是redis5.0.7版本 一、主從複製 單個Redis如果因爲某種原因宕機的話,可能會導致Redis服務不可用,可以使用主從複製實現一主多從,主節點負責寫的操作,從節點負責讀的操作,主節點會定期將數據同步到從節點中,

原创 Redis自動過期機制

實現需求:處理訂單過期自動取消,比如下單30分鐘未支付自動更改訂單狀態 實現方案: 使用Redis Key自動過期觸發事件通知 使用定時任務30分鐘後檢查 按照每分鐘輪訓檢查 CREATE TABLE `order

原创 JVM的理解

一、JVM內存結構 方法區和堆爲線程共享區,虛擬機棧、本地方法棧及程序計數器爲線程獨佔區。 二、棧內存結構 1.局部變量表 局部變量表(Local Variables Table)也可以稱之爲本地變量表,它包含在一個獨立的棧幀

原创 Kafka集羣設計原理

Kafka集羣設計原理 Apache Kafka是分佈式發佈-訂閱消息系統,在 kafka官網上對 kafka 的定義:一個分佈式發佈-訂閱消息傳遞系統。 它最初由LinkedIn公司開發,Linkedin於2010年貢獻給了A

原创 push to origin/master was rejected錯誤解決方案

1.切換到自己項目所在的目錄,右鍵GIT BASH Here,Idea中可使用Alt+F12 2.在Terminl窗口中依次輸入命令: git pull git pull origin master git pull origin

原创 純手寫ArrayList集合框架

本文章只針對於ArrayList的常用API 一、創建MyList接口 public interface MyList<E> { int size(); public E remove(int index);

原创 SpringBoot2.0之SpringApplication源碼分析

此源碼分析針對於SpringBoot的2.0.1.RELEASE版本 一、首先我們先看到啓動類中 二、點擊進入SpringApplication的run方法 由此可以看出SpringApplication.run(AppWei

原创 SpringMVC源碼分析之DispatcherServlet

SpringMVC核心就是DispatcherServlet,被稱爲前端控制器,所有請求都會轉發到DispatcherServlet,然後再通過DispatcherServlet執行具體的控制層,最後返回modelAndView

原创 Java創建圖形驗證碼工具類

public class RandomValidateCodeUtil { public static final String RANDOMCODEKEY = "RANDOMVALIDATECODEKEY";// 放到ses

原创 Gradle入門及SpringBoot項目構建

本作品採用知識共享署名-非商業性使用-禁止演繹 4.0 國際許可協議進行許可。 一、介紹 Gradle 是一種構建工具,它拋棄了基於XML的構建腳本,取而代之的是採用一種基於 Groovy(現在也支持 Kotlin)的內部領域特定

原创 純手寫SpringMVC框架

一、創建maven項目 帶webapp目錄的maven項目 1.pom.xml <dependency> <groupId>javax.servlet</groupId> <artifactId>j

原创 DTO與DO轉換、Vo轉Dto工具類

public class MyBeanUtils<Dto, Do> { /** * dot 轉換爲Do 工具類 * * @param dtoEntity * @param doEntity * @retu

原创 IDEA解決創建maven web項目慢的問題

創建項目時候添加archetypeCatalog=internal參數即可

原创 QQ聯合登錄實現思路

一.QQ聯合登錄實現思路:必須掌握OAuth2.0協議 1.生成QQ聯合登錄授權地址 https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=xxx