原创 我的架構夢:(十九)Nginx搭建、反向代理、負載均衡、動靜分離以及底層進程機制詳解

Nginx搭建、反向代理、負載均衡、動靜分離以及底層進程機制詳解一、前言二、Nginx搭建三、Nginx核心配置文件解讀四、Nginx應用場景之反向代理五、Nginx應用場景之負載均衡六、Nginx應用場景之動靜分離七、Nginx

原创 我的架構夢:(十三)SpringBoot 原理深入以及源碼分析

SpringBoot 原理深入以及源碼分析一、依賴管理二、自動配置(啓動流程)三、執行原理四、Spring Boot 執行流程圖 我們都知道,Spring有它強大的地方,也有它繁瑣的地方,畢竟如日中天的Spring全家桶太強大了,

原创 我的架構夢:(十七)Tomcat 源碼構建以及源碼剖析

Tomcat 源碼構建以及源碼剖析一、源碼構建二、源碼剖析 一、源碼構建 1、下載源碼 這裏博主下載的是apache-tomcat-8.5.50-src http://archive.apache.org/dist/tomcat/

原创 我的架構夢:(十八)Tomcat 性能優化策略

Tomcat 性能優化策略一、前言二、虛擬機運行優化(參數調整)三、Tomcat 配置調優 一、前言 系統性能的衡量指標,主要是響應時間和吞吐量。 響應時間:執行某個操作的耗時; 吞吐量:系統在給定時間內能夠支持的事務數量,單位

原创 我的架構夢:(十六)手寫Tomcat服務器

手寫Tomcat服務器一、需求分析二、代碼詳情三、測試結果四、代碼倉庫 經過前面兩篇的分析,我們對Tomcat的系統架構與原理有了一定的認識與理解了,回顧請戳: 我的架構夢:(十四)Tomcat 系統架構與原理剖析 我的架構夢:(

原创 我的架構夢:(十五)Tomcat 服務器核心配置詳解

Tomcat 服務器核心配置詳解一、主要標籤結構二、Server 標籤三、Service 標籤四、Executor 標籤五、Connector 標籤六、Engine 標籤七、Host 標籤八、Context 標籤 注意: Tom

原创 我的架構夢:(十四)Tomcat 系統架構與原理剖析

Tomcat 系統架構與原理剖析一、瀏覽器訪問服務器的流程二、Tomcat 系統總體架構三、Tomcat 連接器組件 Coyote四、Tomcat Servlet 容器 Catalina 一、瀏覽器訪問服務器的流程 b/s (瀏覽

原创 我的架構夢:(十)手寫並整合ssm框架(Spring+SpringMVC+MyBatis)

手寫並整合ssm框架(Spring+SpringMVC+MyBatis)一、前言二、MyBatis整合Spring三、 整合SpringMVC四、代碼倉庫 一、前言 前面我們手寫過Spring、SpringMVC、MyBatis框

原创 我的架構夢:(十一)Spring Data JPA 的應用(基於案例)

Spring Data JPA 的應用(基於案例)一、Spring Data JPA 概述二、Spring Data JPA,JPA規範和Hibernate之間的關係三、Spring Data JPA 的應用四、代碼倉庫 一、Sp

原创 我的架構夢:(十二)Spring Data JPA 源碼分析

Spring Data JPA 源碼分析一、前言二、這個代理對象是怎麼產生,過程是怎樣的?三、這個代理對象類型SimpleJpaRepository有什麼特別的? 一、前言 Spring Data JPA 源碼很少有人去分析,原因

原创 數據結構與算法分析:(九)二分查找算法

一、前言 二分查找算法是針對有序數據集合的查找算法,將原本時間複雜度是線性時間提升到了對數時間範圍,大大縮短了搜索時間。二分查找算法的思想非常簡單,但細節是魔鬼。也就是你想寫成沒有bug的二分查找算法很難,出錯原因主要集中在判定條

原创 SpringBoot項目中自定義Redis的序列化方式以及封裝RedisUtil

我們項目中經常用到Redis,而且存的值很多是json格式。所以這邊我就自定義了RedisTemplate來修改Redis的序列化方式。而且封裝了常用的Redis的操作。 一、創建自定義配置類RedisConfig package

原创 數據結構與算法分析:(十二)散列表(下)

文章目錄一、如何設計散列函數?二、裝載因子過大了怎麼辦?三、如何高效地擴容?四、如何選擇衝突解決方法?五、工業級散列表舉例分析六、知識拓展 上一篇我們講了散列表的概念、散列函數和散列衝突:數據結構與算法分析:(十一)散列表(上)

原创 源碼解讀之(七)BeanUtils.copyProperties

一、前言 關於對象的複製我們有好幾種方式,最近在做推薦系統,有這樣的一個功能點,根據手機的唯一標識imei,copy 目標手機的 imei,置換imei 畫像。這種複製、克隆另一個對象的屬性在我們後臺開發經常遇得到。我這裏提供兩種

原创 數據結構與算法分析:(七)隊列

一、隊列的定義 隊列是一種特殊的線性表,是一種先進先出(FIFO)的數據結構。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱爲隊尾,進行刪除操作的端稱爲隊頭。隊列中沒有元素時