原创 SpringBoot 生成帶水印pdf | 中文字體問題

概述 生成pdf 中文字體問題 一般生成pdf引用中文字體有以下幾種方式: 方法一:使用Windows系統字體(TrueType) 方法二:使用iTextAsian.jar中的字體 方法三:使用資源字體(ClassPath)

原创 重寫spring bean的幾種方式

概述 工作中會經常會需要重寫jar包中的一個類,開源的jar包或者是其他項目提供的share包,比較通用的做法是下載源碼下來,修改後重新打包。但是很多時候我們只是重寫一個類,下載源碼打包太過繁瑣,而且有可能別人的share沒有提供

原创 SpringBoot2 | @SpringBootApplication註解 自動化配置流程源碼分析(三)

微信公衆號:吉姆餐廳ak 學習更多源碼知識,歡迎關注。 SpringBoot2 | SpringBoot啓動流程源碼分析(一) SpringBoot2 | SpringBoot啓動流程源碼分析(二) SpringBoot2

原创 SpringBoot2 | Spring IOC 流程中核心擴展接口的12個擴展點源碼分析(十一)

微信公衆號:吉姆餐廳ak 學習更多源碼知識,歡迎關注。 SpringBoot2 | SpringBoot啓動流程源碼分析(一) SpringBoot2 | SpringBoot啓動流程源碼分析(二) SpringBoot2

原创 Java | Java 線程模型 | 用戶線程 | 內核線程

概述 在以前的操作系統中,沒有線程的概念。進程是資源分配和調度的最小單元。引入線程的概念以後,線程則是資源調度和分配的最小單元。 線程又分爲用戶線程和內核線程。 用戶線程:語言層面創建的線程,比如 java語言中多線程技術,通過語

原创 SpringBoot2 | Spring AOP 原理深度源碼分析(八)

微信公衆號:吉姆餐廳ak 學習更多源碼知識,歡迎關注。 SpringBoot2 | SpringBoot啓動流程源碼分析(一) SpringBoot2 | SpringBoot啓動流程源碼分析(二) SpringBoot2

原创 SpringBoot2 | 條件註解 @ConditionalOnBean 原理源碼分析(七)

微信公衆號:吉姆餐廳ak 學習更多源碼知識,歡迎關注。 SpringBoot2 | SpringBoot啓動流程源碼分析(一) SpringBoot2 | SpringBoot啓動流程源碼分析(二) SpringBoot2

原创 再談序列化

序列化是將內存中的對象,通過某種可存儲的形式進行表示,然後進行傳輸或存儲。我們知道,計算機中底層只是0或1二進制形式,也就是ASCII碼。而內存中的對象確實一種複雜的對象,所以就需要一種可以描述對象的機制,這種機制就是序列化協議

原创 SpringBoot2 | BeanDefinition 註冊核心類 ImportBeanDefinitionRegistrar 源碼分析 (十)

微信公衆號:吉姆餐廳ak 學習更多源碼知識,歡迎關注。 SpringBoot2 | SpringBoot啓動流程源碼分析(一) SpringBoot2 | SpringBoot啓動流程源碼分析(二) SpringBoot2

原创 SpringBoot 生成pdf 中文字體問題

概述 生成pdf SpringBoot部署方式以jar包方式運行,在獲取字體的時候獲取不到,因爲在服務器上讀取的字體路徑爲jar包中的路徑: file:/root/startup/za-minos-ms.jar!/BOOT-INF

原创 SpringCloud Sleuth 實現業務邏輯日誌包含 Span 和 Trace信息

概述 SpringCloud Sleuth是Spring Cloud的核心組件之一,實現了一種分佈式鏈路跟蹤的功能。在調用鏈層級很深的分佈式系統中,爲定位問題提供了很大便利。 Sleuth 大致的原理是自定義了一個攔截器:Trac

原创 基於 SpringBoot2 和 Netty 實現一個簡易的RPC通信框架

概述 大致的流程: 實現客戶端 代理類處理邏輯 :InvocationHandler 掃描被代理接口,生成代理類,注入 spring 容器 根據調用的接口,找到指定的實現類,並完成調用。 代碼 掃描組件 啓動類: @SpringB

原创 java | BitMap原理解析

概述 在一些數據量比較大的場景中,做一些查重、排序,一般的方法難以實現。數據量過大,會佔用較大的內存,常用的處理方式有兩種:BitMap(位圖法)和布隆過濾。 本篇針對以下題目來看一下如何用位圖法來實現:10億個正整數,給定一個數值,

原创 Spring Cloud Config 動態刷新實現機制

Spring Cloud 默認實現了配置中心動態刷新的功能,在公共模塊 spring-cloud-context 包中。目前比較流行的配置中心 Spring Cloud Config 動態刷新便是依賴此模塊,而Nacos動態刷新機制是