原创 Storm理解與入門

在使用一個框架前,我們需要知道這個框架能用來做什麼,可以解決我們什麼問題; Storm是一個流式數據處理框架。我的理解是我們通過某種手段實時地將數據“發送”給框架(或者是框架自己主動獲取),數據在框架內被逐層處理,框架內的上下流程間以數據

原创 Mybatis日誌-適配器模式

日誌模塊 Mybatis內部提供了日誌模塊,用於記錄框架內部異常與調試信息; 日誌實現使用了經典的適配器模式,mybatis自己本身不提供日誌功能,而是依賴其他的日誌框架來實現;內部支持的優先級是:SLF4J | LOG4J | LOG4

原创 Mybatis緩存-裝飾模式

向已有的類添加新功能,通過類的關聯關係而不是通過繼承,更加靈活。 裝飾器模式經典實現: java.io.InputStream mybatis中使用了裝飾器模式的模塊:二級緩存 接口:org.apache.ibatis.cache.Ca

原创 Mybatis對象生成與屬性賦值-反射技術

Mybatis對象生成與屬性賦值-反射技術 反射模塊 工具類 1、org.apache.ibatis.reflection.factory.ObjectFactory 生成原始類 2、org.apache.ibatis.reflectio

原创 Springboot入門例子與原理淺析

簡單入門例子可以參考我寫的demo https://gitee.com/aqu415/twboot.git 通過源碼分析,spring boot的啓動最重要的一點是向容器裏注入了一個特殊的後置處理器: ConfigurationClass

原创 mysql 死鎖(先delete 後insert)日誌分析

前言: 通過show engine innodb status,獲取最近一次發生的死鎖詳細信息。 推薦分析詳細信息的文章 https://www.cnblogs.com/olinux/p/5497176.html 背景: 項目最近代碼發生

原创 HMAC概念簡介

摘自百度文庫 由H.Krawezyk,M.Bellare,R.Canetti於1996年提出的一種基於Hash函數和密鑰進行消息認證的方法,它可以與任何迭代散列函數捆綁使用。 HMAC運算利用hash算法,以一個消息M和一個密鑰K作爲輸入

原创 SecureCRT登陸後跳轉指定目錄

在連接樹的節點上選中,然後右鍵-Properties       按照上面的操作增加對應的腳本,root用戶的Expect 好像是 #,普通用戶是$

原创 Mysql MyISAM 壓縮(前綴壓縮)索引

MyISAM使用前綴壓縮來縮小索引,從而讓更多的索引能夠放入內存中達到快速索引的目的; 我們都知道innoDB存儲引擎的索引維護過程中會保存完整的列值到索引節點,MyISAM則有所不同,比如我們在一個varchar列上創建了索引,保存了類

原创 Dubbo 序列化與反序列化

Serialization com.alibaba.dubbo.common.serialize.Serialization 是傳輸數據的序列化和反序列化的組件,首先來看看這個SPI類 @SPI("hessian2") public i

原创 Mybatis數據源-工廠模式

Mybatis在數據源對象管理策略上使用了工廠模式,即一個類型的對象由特定的工廠類來提供; 以下是數據庫相關簡單配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configura

原创 Dubbo 服務端註冊流程

源碼分析使用Dubbo2.6.7版本 程序入口 我們現在dubbo的使用大部分開發者會基於spring,讓容器來管理我們的對象這樣就很方便; 我們使用dubbo的時候會配置相關標籤,標籤解析入口: com.alibaba.dubbo.co

原创 Dubbo 消費端代理生成

入口 與上一篇服務註冊類似,源碼版本2.6.7;消費端對象生成代理對象入口也是 com.alibaba.dubbo.config.spring.schema.DubboNamespaceHandler 這裏我們只分析 register

原创 rocketmq 消息消費後處理機制

以push模式消費爲例,消息拉取與消費的入口核心代碼: org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl#pullMessage PullCallbac

原创 rocketmq PullRequestHoldService

PullRequestHoldService