原创 Countdownlatch , CyclicBarrier , Semaphore類
1.** countdownlatch ** 多數用於任務拆分 2. public class CountDownLatchExample { public static void main(String[] args)
原创 3年java面試
請寫出一個單例模式 (餓漢式 懶漢式) 請寫出一個生產者消費者模型, wait notify 等待通知, 加鎖 threadLocal是幹什麼用的, 是 線程內獨享變量,但在方法和類中共享 mybatis運行流程,
原创 線上內存泄漏排查
發現linux上服務 剛啓動的時候是 佔用700MB, 一直在跑商品同步,初步懷疑是商品同步的時候導致內存泄漏 開始排查 ps -aux|grep tomcat 使用查看內存 發現佔用 2.5G 查看到 端口是 4
原创 AQS源碼解析
//加鎖從 先看一下 acquire方法開始 private transient volatile Node head; //頭節點 獲取鎖的線程節點 private transient vola
原创 Synchronized對象鎖和類鎖
簡單的來說, Synchronized 如果作爲方法, 那麼鎖的粒度是 實例對象 static Synchronized 作爲方法, 那麼鎖的粒度是 類 不同實例 也會被限制, A.invoke() B.invoke()
原创 HashMap hash方法與indexFor 方法
//put方法時候使用的擾動函數 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.has
原创 多線程拆分任務學習
package com.pendanaan.utils; import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concu
原创 設計接口
1.設計安卓 iOS 接口 對接手機: 一般數據爲 code 碼 成功 失敗 失敗原因 message 失敗信息 data 數據 成功有數據 失敗無數據 :{} 2.所有service serviceIm
原创 數據庫動態讀寫分離 使用readOnly=true使用從庫
/** 讀寫庫與只讀庫自動切換的Datasource定義。 當定義爲@Transactional(readOnly = true) 時,自動切換到只讀庫。 Aws本身支持多個只讀庫的負載均衡,此處不做多個只讀庫的設計。
原创 Mysql的鎖類型
頁級:引擎 BDB。表級:引擎 MyISAM , 理解爲鎖住整個表,可以同時讀,寫不行行級:引擎 INNODB , 單獨的一行記錄加鎖樂觀鎖: 樂觀鎖實際上是不加鎖的,需要我們自己去實現1.先查select * from user whe
原创 transmittablethreadlocal使用
1.因項目需要全鏈路傳出 一些app內的值,最開始使用了 ThreadLocal 發現,在異步方法中, 子線程並不能獲取到主線程的 threadlocal參數 , 2. 於是乎, InheritableThreadLoca
原创 vue.js導入高德地圖
1.第一步 npm 安裝 vue-amap npm install vue-amap --save 2.在 main.js 中引入 高德地圖 import AMapfrom 'vue-amap'; 3.在
原创 恭喜1024
1024來個徽章
原创 使用countdownlatch拆分任務踩坑記錄
1.因有個需求, 此需求是需要單查數據纔可以查詢準確的數據,但是前臺參數是 按月份查詢,所以需要查詢月區間的每天的數據 2.使用countdownlatch 3.使用 private static ExecutorServic
原创 controller層處理異常還是service處理異常
1.是 controller處理異常 2.service層中使用spring 事務, 處理異常之後需要再次拋出 ,如果service處理了異常,那麼事務就不會回滾