原创 關閉jvm和spring容器時添加鉤子

         平常我們在jvm的時候,如果想做點兒事情怎麼辦呢,其實很多的框架都爲我們預留了鉤子(Hook)這種東西,就是爲了擴展性,能滿足一些需求。先看一下jvm的鉤子          public class Test {

原创 Feign調用第三方http接口

            我們平常在開發的時候,經常會碰到調用第三方的接口,這個時候我們可以使用httpClient或者restTemplate,但是這兩種方式相比較與Feign調用,都會麻煩一點兒。Feign是聲明式服務調用客戶端,既規範

原创 文件追加模式

           今天踩了一個坑,在分批次寫入文件時,損壞了文件,後來經過排查發現,需要使用追加模式來寫文件,否則每次都是從頭開始寫。這個就是FileInputStream的構造函數裏面的一個參數決定的。            /*

原创 淺談CQRS架構

   我們在對數據庫的操作時,可以進行讀寫分離,但是我們的業務層卻沒有做到讀寫分離,因爲業務的讀和寫都是公用一個 model對象,需要進行一些併發的控制。           cqrs(Command Query responsibili

原创 java中下劃線分割數字

        從java7開始支持下劃線分割數字的形式,例如這種:          long credite_card = 2938_3848_4474_4847L;       其實這種寫法只是爲了在數字比較長時可以更好的展現,如

原创 webflux入門demo

       webflux是異步非阻塞請求,基於reactor模型,默認採用netty異步容器,下面就用springboot整合webflux做一個簡單的demo。        先創建一個springboot工程,注意勾選以下模塊.

原创 free mybatis plugin

            當我們使用Mybatis作爲我們的orm框架時,如果我們需要從mapper跳到mapper.xml文件時,你是否是和我一樣先粘貼方法名,然後在mapper.xml裏面ctrl+F進行查找,然後找到對應的sql語句呢

原创 淺談函數式接口

          java8中提供了lambda表達式,極大的簡化了代碼的編寫方式,但是lambda表達式需要函數式接口的支持。           那麼什麼是函數式接口呢?           函數式接口就是隻有一個抽象方法的接口。

原创 java8四大核心內置函數式接口

                 我們在使用lambda表達式的時候,通常需要定義一個接口,如果我們每次都去定義一個接口,顯然是有點兒麻煩的, 所以java8中提供了四個內置的函數式接口,通過直接使用這四個接口,或者使用它們的擴展接口,就

原创 spi簡單理解

              spi是java提供的一種服務發現的機制,在jdbc和double等很多的地方都使用到了,下面就來寫一個demo來加深一下理解                先新建一個接口              publ

原创 淺談mysql limit的性能問題

          我們都知道在mysql中使用limit分頁,當limit後的offset很大時會有性能問題,           例如limit 10000,30           它會取出前10030條數據,然後捨棄前10000條

原创 如何將兩個有序的數組合併成一個有序的數組

                今天面試的時候碰到了一個面試題,在這裏記錄一下                 題目如下:                給定兩個有序數組 int[] a={1,2,3,4} 和int[] b={5,6,7

原创 HashMap的長度爲什麼要是2的N次方

先貼一段源碼壓壓驚, /** * The default initial capacity - MUST be a power of two. */ static final int DEFAULT_INIT

原创 mysql逗號分隔的字符串如何搜索

         通常我們在設計數據庫一對多的時候,會採用逗號分隔的字符串的形式來表示,但是查詢的時候如何查詢呢?          以下提供兩種方式來查詢          原始數據          INSERT INTO test(

原创 Mysql的InnoDB引擎的表鎖與行鎖

       最近在開發中遇到表鎖與行鎖的問題,在此記錄一下。        InnoDb引擎的行鎖是利用索引來實現的,所以在一個非索引的字段上進行Update/Delete時會鎖住全表,這個是一個大坑,在此記錄一下,給碰到該問題的同學提