原创 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處理了異常,那麼事務就不會回滾