原创 Spring Transaction(spring事務)源碼簡析
核心接口:PlatformTransactionManager.java 還有其抽象類AbstractPlatformTransactionManager: 簡述 Spring事務基礎結構的中心接口。 代碼詳解 public i
原创 非分佈式鎖的簡易使用
1 Lock鎖的設計 /** * 全局的鎖 */ public class LockHelper { private static final Logger log = LoggerFactory.getLogger(
原创 線上系統異常linux跟蹤命令大致流程(JVM)
參考文章: https://mp.weixin.qq.com/s/OihP6sS1-HzyOP_H3odX8g MAT參考文章: https://www.cnblogs.com/AloneSword/p/3821569.html 1
原创 Redis HyperLogLog使用簡述
參考文章: https://www.xuchuruo.cn/%E7%BB%9F%E8%AE%A1UV%E6%95%B0%E6%8D%AE-HyperLogLog.html 工作中用到了Redis的HyperLogLog,下面就做一個
原创 netty源碼解析之netty解碼器
1 ByteToMessageDecoder.java類的基本結構如下: 其中ByteToMessageDecoder類是累加器的基礎類,其核心方法如下: // ByteToMessageDecoder.java @Ove
原创 mysql常用報表處理及數據遷移寫法SQL
熟悉一些常用的sql寫法便於工作中快速導出數據,本文不涉及到業務,所以對錶庫做了名字的修改,僅提供一些用法的說明。 以下直接舉例子並講解 1 單表批量數據遷移 場景:日誌遷移 具體實例:將test_log2日誌表2的數據全部遷移到
原创 Netty源碼簡析之服務端Channel的創建
1 引入netty的maven依賴如下 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version
原创 Netty源碼解析之ByteBuf簡析
ByteBuf是什麼? 首先當前類是ByteBuf.java類,是netty緩存的抽象類。主要包含如下幾個Index 0 <= readerIndex <= writerIndex <= ca
原创 鏈表學習技巧及常用常規鏈表操作
單鏈表反轉-參考鏈接: https://blog.csdn.net/geekmanong/article/details/51097196 https://www.jianshu.com/p/bd6a64d36916 合併兩個有序鏈
原创 維表與事實表
BI平臺分爲事實表、維表,然後兩種表聚合成一個寬表。(注意這裏取的BI平臺是Davinci:https://edp963.github.io/davinci/) 其維表、事實表的關係圖如下: 一個維表會對應多個事實表,而
原创 用Redis快速實現BloomFilter!
轉自: https://zhuanlan.zhihu.com/p/55574882 背景 最近工作上有個類似需求是: 現有約3億條數據詞典存在於一個csv文件A中,作爲數據源。對於 用戶輸入的任意單詞M,需要快速的在A中匹配M單詞是否
原创 正則表達式一些場景的應用(含SQL解析)
實際場景1 - WITH臨時表的拆分 因爲公司發展需要,要對sql進行改造拼裝,藉此需要一些比較奇葩的正則表達式來處理。 由於公司採用的是基於Presto的阿里收費平臺ADB,所以一下以ADB語法作爲講解。 假設有一個sql如下
原创 Netty源碼解析之Pipeline解析
首先初始化Pipeline如下 創建channel會調用到如下方法 protected AbstractChannel(Channel parent) { this.parent = parent; id = newI
原创 jdk版本問題導致的error: reference to query is ambiguous
1 用的是開源項目Davinci,在其之上進行改造 情況是這樣的,在test的jenkins環境中是可以正常構建的當前項目的,但是準備上預發佈的時候發現jenkins報錯如下: [ERROR] Failed to execu
原创 H5與iOS/Android交互
轉自:https://juejin.im/post/5e7c7ae9f265da428e0fba12 場景 H5頁面需要調用微信分享接口,但是在APP環境下無法通過H5去調微信分享接口,需要由APP端去調起接口,這時候H5應該如