原创 @StreamListener註解的工作原理

一直被@StreamListener註解帶來的恐懼所支配。今天來揭開它的面紗。 MAVEN引入相關jar包(版本2.0.1) <dependency> <groupId>org.springframework.cloud

原创 PropertyPlaceholderConfigurer工作原理

類繼承關係 代碼分析 PropertiesLoaderSupport類是一個抽象類,定義了一些基礎性的操作,可以從聲明的方法上看出來: 往下走,就看出東西來了。PropertyResourceConfigurer類是非常重要的

原创 微信聊天可以用,QQ聊天可以用,但是瀏覽器搜索不可用!

      早晨起來,開心的打開電腦,打開csdn,繼續寫我的博客。      一切看起來都是那麼和諧,直到我習慣性的搜索某個東西,媽的,我的本本出問題了!       問題描述:微信聊天可以用,QQ聊天可以用,但是瀏覽器搜索不可用!  

原创 探索單元測試系列(5) Mock類庫之PowerMock

介紹     Mock本身也是單元測試的一種,對於原生的Junit進行了包裝升級。比較常見的類庫有easymock、jMock、Mockito、Unitils Mock、PowerMock、JMockit等等,其中比較優秀的是easymo

原创 easy-drools

不知不覺間,開源項目已經做了快兩年了。涉及的東西也越來越多。我始終堅持着一個念頭,持續學習。此生最慶幸的一件事,便是我所爲之工作的,正好是我喜歡的。 說下背景吧,公司剛好在用規則引擎。然後就想着,做一個東西出來,簡化開發。還是挺

原创 深入Redis分佈式鎖

基礎知識 Redis提供了函數來支持分佈式鎖:         SETNX key value 當且僅當 key 不存在時才能設置成功。設置成功時,返回1;反之,返回0。 如果鎖設置失敗,說明已經有其他任務獲取了這把鎖,可以通過循環的方式

原创 手寫服務器系列(4) 簡單服務器

基於上一篇博客繼續 往下寫。本篇博客我們正式開始寫一個簡單版本的服務器。 1. 思考     我們需要考慮服務器應該具備哪些能力。首先,我們需要一個socket程序接收客戶端請求;然後,我們需要給客戶端一個返回;最後,我們需要包裝一下ht

原创 AutowiredAnnotationBeanPostProcessor工作原理

SpringBoot中不需要再使用PropertyPlaceholderConfigurer來注入屬性了,而是用@Value等註解替換了。@Value註解的解析和@Autowired註解用了同一套邏輯。所以,我們一起通過分析@Au

原创 k8s學習筆記一

服務模型圖 服務進程 假設現在有五臺機器,我們給其中的三臺安裝了Mysql,那麼這三臺機器上就有了Mysql的服務進程,我們把三個服務進程叫做K8s的一個Service。在實際的應用中,通過在一臺機器上部署多個docker實例

原创 BeanWrapper的使用

@Component public class AppBoot implements CommandLineRunner { private String id; @Override public void run(Strin

原创 算法和數據結構(一):數據結構

    前兩天面試阿里,最終死在了算法和數據結構上,痛苦不已。今天下了決心,來擼一把算法和數據結構。     對於計算機來說,只有0110,它是不會關心什麼算法,什麼數據結構的。那麼,誰關心呢?當然是人啊。計算機是很傻逼的東西,它能做什麼

原创 手寫服務器系列(1) 簡單TCP編程

     我們都知道,客戶端與服務端之間的連接是基於TCP的可靠傳輸。所以,在手寫服務器之前,是需要了解這部分內容的。希望這個系列完成後,我們都能有一定的收穫。  1. 寫一個簡單的TCP小程序並啓動 package com.zlyx.

原创 k8s學習筆記二

基本概念 k8s集羣主要包含三個平面:控制層面,計算層面和數據層面。 控制層面是整個集羣的大腦,負責控制、調度集羣資源,包括kube-apiserver、kube-controller-manager、kube-schedul

原创 cron表達式生成工具

用法和看效果: 1. 使用方法 package com.zlyx.easy.start.test; import com.zlyx.easy.start.utils.CronUtil.DayCron; import com.zlyx.

原创 Springboot自動配置源碼閱讀

1. MAVEN引用 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht