原创 Spring-事務之總體概述

一 事務特性 原子性 (atomicity):強調事務的不可分割. 一致性 (consistency):事務的執行的前後數據的完整性保持一致. 隔離性 (isolation):一個事務執行的過程中,不應該受到其他事務的干擾 持久性

原创 MySQL Binlog 解析工具 -Maxwell 詳解

maxwell 簡介 Maxwell是一個能實時讀取MySQL二進制日誌binlog,並生成 JSON 格式的消息,作爲生產者發送給 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件

原创 Spring源碼-內部好用的工具類

  今天主要說一下,大家在研讀或者使用spring的過程中,可能忽略一些了spring提供的內部工具類,而且這些內部工具對於我們開發人員使用起來是非常的爽,效率也高,所以今天就簡單介紹幾個.   1 AnnotationUtils:處理註

原创 ES-索引查詢機制(三)

ES查詢可以分爲兩大類,一類是Get,一類是Search,下面說一下Es內部是怎麼實現的. 一:Get檢索 通過ID檢索特定的Doc > 查詢的時候是先查詢內存中的TransLog,如果找到就立即返回 > 如果沒找到再查詢磁盤上的Tra

原创 Thread技術體系

併發編程專題 第一章 線程入門 基本概念 串行 Ø 一個任務執行完再去執行另一個任務 並行 Ø 用齊頭並進的方式去完成任務,其實只是時間片的切換,離開時間片,無意義 併發 Ø 一段時間內以交替的方式去完成任務 進程 Ø 資源分配的

原创 ES-索引寫入機制(二)

ES在建立索引的時候和Lucene是有一定區別的,因爲它對Lucene進行了一定的優化,內部還牽涉到分佈式索引的分發,下面就詳細的分析一下寫入原理思想以及流程和對應節點的處理 一:寫入原理以及特性 1 寫入索引的時候,首先先寫入到luce

原创 ES-基礎概念和原理(一)

ES其實就是基於lucene之上封裝的一個分佈式 索引框架,所以lucene擁有的特性,它都是有的,同時因爲它使基於分佈式的,所以對很多的功能進行了擴展,要想掌握ES,需要先熟悉一下Lucene,因爲熟悉了Lucene之後,不論是學ES,

原创 Redis-技術彙總

Redis Redis-優勢總結 1 性能高,讀每秒是11w,寫每秒是8w 2 豐富的數據結構,支持string,list,set,hash,sortedset 3 原子性操作,要不全部成功,要不全部失敗 4 發佈與訂閱,完成類似

原创 maven 模塊打包 找不到符號

今天,要對之前的一個老系統改造,在改造過程當中,遇到maven打包找不到符號,具體報的錯誤如下所示 說實話,解決這個錯誤花費了很長時間,所以特此記錄下來,留着做警惕。 因爲要改造的系統是一個一體化(沒有分模塊),如下圖所示 然後就開始

原创 Spring源碼擴展篇-BeanPostProcessor

      在spring中關於對bean的擴張可以分爲兩種: 1 基於所有bean:可以使用beanfactorypostproccessor進行修改,但是這種修改是全局的,也就是所有的bean都會被進行修改 2 基於單個bean:只針

原创 海量數據面試題整合

海量數據面試題整理       1. 給定a、b兩個文件,各存放50億個url,每個url各佔64字節,內存限制是4G,讓你找出a、b文件共同的url?   方案1:可以估計每個文件安的大小爲50G×64=320G,遠遠大於內存限制的4G

原创 Spring源碼擴展篇-BeanFactoryPostProcessor

spring容器初始化時,從資源中讀取到bean的相關定義後,保存在beanFactory的成員變量中,在實例化bean的操作就是依據這些bean的定義來做的,而在實例化之前,spring允許我們通過自定義擴展來改變bean的定義,定義一

原创 Spring事務不生效的場景分析

1、數據庫引擎不支持事務 2、沒有被 Spring 管理 如下面例子所示: // @Service public class OrderServiceImpl implements OrderService { @Transact

原创 Kylin

Kylin 第1章 概述 1.1 Kylin定義 Apache Kylin是一個開源的分佈式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規模數據,最初由eBay開發並貢獻至開源社區

原创 springboot後端跨域

在項目當中,現在開發都是前後端分離,有時候會產生請求的跨域,這個時候一般的解決方案有兩種,一種是基於nginx進行跨域配置,還有一種是後端通過實現filter來允許跨域,下面看一下通過filter實現的跨域代碼: @Component