原创 使用fastjson以numberLong爲例對MongoDB查詢結果反序列化
mongodb中記錄的數據爲 { "_id" : ObjectId("5d3e6a82c7cf3e3a50fa635b"), "uid" : NumberInt(1), "name" : "張三",
原创 java使用mangodb進行多條件組合查詢
and or組合查詢 構造BasicDBObject BasicDBList andList = new BasicDBList(); BasicDBObject groupCond = new
原创 CPU緩存與僞共享
計算機使用緩存機制加快io速度。 緩存一般是由緩存行(cache line),一般一行有64字節,讀取數據時一次將之後的64字節加載帶緩存行,下次可以先從緩存行中獲取數據,命中的話 可以提高讀取速度,未命中時從上一級緩存獲取,直
原创 數組實現隊列,阻塞隊列
今天做了一個筆試題,使用數組實現一個隊列。現在記錄一下當時的實現,之後再對這個實現進行改造升級。 /** * @program: read-write * @description: 數組實現隊列 * @author: W
原创 Windows安裝docker 遇到的容器間通信以及容器和宿主機通信相關問題
問題1 在練習docker運行spring cloud項目的時候,我打算用兩個容器運行eureka和config服務,使用docker-compose運行鏡像,配置文件如下 version: '3' services: eu
原创 springboot druid mybatis 多數據源配置和事務處理
目錄參數配置數據源數據庫名稱等基礎配置數據庫1數據庫2事務 參數配置 spring: datasource: # 使用阿里的Druid連接池 type: com.alibaba.druid.pool.Druid
原创 獲取接口或父類的類型和類型變量的類型
原理 通過類對象的genericSuperclass與getGenericInterfaces獲取父類或接口類型。 強轉爲參數化類型ParameterizedType,即帶有類型參數的類型,入List,List 通過Parame
原创 Java調用ffmpeg實現視頻轉gif、webp動圖
安裝ffmpeg linux環境 yum install epel-release -y #查看centos版本 cat /etc/redhat-release #由於CentOS沒有官方FFmpeg rpm軟件包。但是,我們可以
原创 mybatis批量插入
批量插入實現方式 循環插入 多次數據傳輸,耗時。 拼接SQL 例如在xml文件中使用foreach進行拼接: insert into user_follow(uid,followuid,username,fus
原创 使用fastjson以numberLong爲例對MangoDB查詢結果反序列化
mangodb中記錄的數據爲 { "_id" : ObjectId("5d3ac7a9c7cf3e3da8343961"), "createTime" : NumberLong(1564133289504),
原创 Java 8新特性:時間工具類
文章目錄獲取時區字符串轉時間時間格式化輸出與Date的轉換與時間戳的轉換時間調整到特定某天時間間隔 獲取時區 //獲取時區 @Test public void getZone(){ //默認時區
原创 ThreadLocal源碼分析
原理 每個Thread實例會有自己的ThreadLocalMap實例,ThreadLocal的set(value)方法會獲取當前線程,把value存儲到線程自己的ThreadLocalMap中,也就實現了線程之間的隔離:每次涉及到Th
原创 利用註解+RequestBodyAdvice實現http請求內容加解密
註解主要用來指定那些需要加解密的controller方法,實現比較簡單 @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interf
原创 ReentrantReadWriteLock源碼解析
原理 共享鎖(讀鎖)與獨佔鎖(寫鎖)鎖互斥 讀鎖獲取資源時,其他線程可以讀鎖獲取資源,可重入。 寫鎖獲取資源時,只有獲取寫鎖的線程可以再次加鎖即鎖重入。 獲取寫鎖的線程還可以獲取讀鎖,寫鎖釋放即鎖降級。 源碼 ReentrantR
原创 this引用逸出
逸出:某個不應被髮布的對象被髮布 發佈:使對象在作用域之外的代碼中被使用。例如get()獲得對象或者將new出的對象放到外部集合中。 《Java併發編程實戰》3-2節中提到this隱式逸出,並給出了示例代碼: public class