原创 SpringBoot+Mybatis配置多數據源並且實現事務一致性

最近博客寫得少,不知道怎麼說開場白了。呃,本文一共分三部分:SpringBoot+Mybatis環境搭建、兩種方式配置多數據源、兩種方式實現跨數據源事務,您可以直接跳到喜歡的部分,不過按順序看完也不會花很多時間。。。 一、搭建Spring

原创 Java獲取一個類繼承的父類或者實現的接口的泛型參數

泛型的作用就不多介紹了,如果你想具備架構設計能力,那麼熟練使用泛型是必不可少的。 不多說了,先定義泛型父類和泛型接口: package cn.zhh; public class Parent<T1, T2> { } package

原创 elasticsearch-head 5連接elasticsearch 6.x無法顯示數據的解決辦法

在docker安裝了elasticsearch-head:5和elasticsearch:6.3.2(相關博客點這裏)之後,打開界面連接es時發現數據無法展示。於是網上查了下原因,說是elasticsearch 6增加了請求頭嚴格校驗的原

原创 Spring Data Jpa將實體類相同屬性抽取到基類導致找不到主鍵的解決方法

有時候我們在使用Spring Data Jpa的時候,會將實體類的一些相同屬性抽取成一個公用的基類,這樣可以減少代碼的重複。但是,一些基本的屬性還好,但是將主鍵也抽取的話,會遇到這樣子一個問題: Caused by: org.hibern

原创 Docker安裝ES,以及界面、中文分詞器的插件

前提條件:確保你的機器上面已經安裝了Docker和Java。 一、安裝ElasticSearch 1、下載鏡像 docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

原创 使用Docker搭建Hadoop單機版

其實,直接安裝也很簡單,官方說明文檔:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html。使用Docker安裝

原创 使用Selenium實現直播平臺的自動刷屏

本文項目Github地址:https://github.com/zhouhuanghua/auto-flood-screen 最近,電競圈LOL屆最大的瓜非"藍公主"莫屬。本來,我也只是一名吃瓜羣衆,感覺都無所謂。但是,後面Baolan的

原创 解密JUC——構建鎖和同步器的AQS

AQS,本名:AbstractQueuedSynchronizer,是Java 5引入的一個併發工具類。 它提供了一個基於FIFO(先進先出)隊列,可以用於構建鎖或者其他相關同步裝置的基礎框架。 它的名字翻譯爲抽象隊列同步器,可以分爲三個

原创 解密JUC——非阻塞同步指令CAS

一、爲什麼使用CAS?CAS是啥? 在多線程中,爲了保證一系列的操作具有原子性,獨佔鎖是比較簡單實用的同步機制,但它是一項悲觀技術,對系統性能有嚴重的損耗,因爲它假設了最壞的情況:如果你不鎖門,那麼搗蛋鬼就會闖入並搞得一團糟。 對於細粒度

原创 壓測工具ab的簡單使用說明

ab的全稱是Apache Bench,是比較簡單、容易上手的性能測試工具。這裏示範一下Windows環境下的使用。 一、下載安裝 首先到官網https://www.apachehaus.com/cgi-bin/download.plx下載

原创 代碼生成器核心思路

代碼生成器相信大家都見過或者用過吧?最典型的就是MyBatis那個生成實體類和Mapper文件的工具。顯然,代碼自動生成可以減少一些重複代碼的編寫,從而提高開發效率。 代碼生成工具主要做法就是使用模板引擎,把公共的部分抽取出來形成一個模板

原创 自動生成實體類設值模板代碼

直接上代碼 public static void main(String[] args) { Class clazz = AtHandoverOperationDetail.class; StringBu

原创 線程進入休眠狀態的三種方式:Thread.sleep、Object.wait、LockSupport.park

一、線程睡眠Thread.sleep 1)需要指定睡眠時間,如 Thread.sleep(10_000);// 睡眠10秒 // TimeUnit.MINUTES.sleep(1);// 睡眠一分鐘 2)睡眠時線程狀態爲TIMED_WA

原创 Spring Validation的3種執行校驗方式

推薦我的另一篇博文:《利用Aspect/Javassist/動態代理/Lombok等方式省略Controller的參數校驗結果處理代碼》。 Validation的註解就不介紹了,大家可以去看源碼包或者網上找相關資料。 這裏直接說執行校驗

原创 Docker安裝MySQL、Redis

參考菜鳥教程的文章: http://www.runoob.com/docker/docker-install-mysql.html http://www.runoob.com/docker/docker-install-redis.htm