原创 中國民生銀行 HBase 讀寫設計與實踐

背景介紹 本項目主要解決 check 和 opinion2 張歷史數據表(歷史數據是指當業務發生過程中的完整中間流程和結果數據)的在線查詢。原實現基於 Oracle 提供存儲查詢服務,隨着數據量的不斷增加,在寫入和讀取過程中面臨性能問題,

原创 Aviator 表達式的使用

1、使用Aviator 需要導入包 <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId>

原创 SourceTree更新遠程分支列表

  有時在用SourceTree查看遠程分支時,發現有的遠程分支看不到,需要更新下遠程分支列表: 在sourcetree中打開命令行終端執行如下命令: git remote update origin --prune  

原创 maven settings.xml示例

<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http:/

原创 ElasticSearch和solr的差別

Elasticsearch簡介 Elasticsearch是一個實時分佈式搜索和分析引擎。它讓你以前所未有的速度處理大數據成爲可能。 它用於全文搜索、結構化搜索、分析以及將這三者混合使用: 維基百科使用Elasticsearch提供全文搜

原创 調用鏈選型之Zipkin,Pinpoint,SkyWalking,CAT

簡介 Zipkin是Twitter開源的調用鏈分析工具,目前基於springcloud sleuth得到了廣泛的使用,特點是輕量,使用部署簡單。 Pinpoint是韓國人開源的基於字節碼注入的調用鏈分析,以及應用監控分析工具。特點是

原创 基於redis2.1.6實現spring cache生成的key多出一個冒號

用redis來做spring cache時,發現最終生成的key中多了一個冒號,而且有一個空節點的存在: 經查看其源碼發現,默認的生成key策略就是用的兩個冒號: package org.springframework.data.re

原创 Spring的@Controller @Service的線程安全問題

首先問@Controller @Service是不是線程安全的? 答:默認配置下不是的。爲啥呢?因爲默認情況下@Controller沒有加上@Scope,沒有加@Scope就是默認值singleton,單例的。意思就是系統只會初始化一次C

原创 Gradle-5.3:依賴-管理依賴的版本(傳遞(transitive)\排除(exclude)\強制(force)\動態版本(+))

什麼是傳遞依賴   在Maven倉庫中,構件通過POM(一種XML文件)來描述相關信息以及傳遞性依賴。Gradle 可以通過分析該文件獲取獲取所以依賴以及依賴的依賴和依賴的依賴的依賴,爲了更加直觀的表述,可以通過下面的輸出結果瞭解。 1

原创 一個最簡單的javaagent demo實例

JavaAgent 是JDK 1.5 以後引入的,也可以叫做Java代理。 JavaAgent 是運行在 main方法之前的攔截器,它內定的方法名叫 premain ,也就是說先執行 premain 方法然後再執行 main 方法。 那麼

原创 FileAlterationListenerAdaptor監聽文件和文件夾

背景 項目中有需要監聽文件、文件夾的需求,以便在文件、文件夾發生變化時出發相應的業務流程。這裏使用Spring Boot + Apache Commons IO方案。 另外,Apache Commons IO涉及到多線程的應用,項目中應指

原创 Spring AOP 使用介紹,從前世到今生

前面寫過 Spring IOC 的源碼分析,很多讀者希望可以出一個 Spring AOP 的源碼分析,不過 Spring AOP 的源碼還是比較多的,寫出來不免篇幅會大些。 本文不介紹源碼分析,而是介紹 Spring AOP 中的一些概念

原创 Spring IOC 容器源碼分析

[TOC] Spring 最重要的概念是 IOC 和 AOP,本篇文章其實就是要帶領大家來分析下 Spring 的 IOC 容器。既然大家平時都要用到 Spring,怎麼可以不好好了解 Spring 呢?閱讀本文並不能讓你成爲 Sprin

原创 基於redis實現的springsession的命名空間問題

用redis來實現springsession時,需要注意命名空間的問題,默認的命名空間爲: /** * The default namespace for each key and channel in Redis used by

原创 Spring Bean的生命週期分析

目錄 前言 加載bean的過程 bean的生命週期 生命週期測試 1.新增一個對象,實現bean級的接口 2.容器接口BootBeanFactoryPostProcessor,可以在這裏修改bean的屬性值 3.初始化對象前後執行 4.實