原创 獲取並分析dump文件

本地獲取dump文件: 1、JDK8之前 -XX:PermSize=3m  -XX:MaxPermSize=3m   -XX:+HeapDumpOnOutOfMemoryError 2、JDK8以及之後(沒有永久代了,改成元空間Metas

原创 面試沒有通過;原因:很多知識點還只是在瞭解層面不知道背後設計的原理,如ABCD.....XYZ

1、hashmap數據結構 數組+鏈表:鏈表在增刪方面的高效和數組在尋址上的優勢。 HashMap的主幹是一個Entry數組。Entry是HashMap的基本組成單元,每一個Entry包含一個key-value鍵值對。數組是HashMap

原创 7 張圖講清楚ZooKeeper分佈式鎖實現原理

中華石杉,十餘年BAT架構經驗傾囊相授。個人微信公衆號:石杉的架構筆記(ID:shishan100)

原创 Spring源碼分析~AOP如何生成代理對象

看源碼肯定需要一個入口,我們準備了一個demo,很簡單,一個main方法,一個config類,一個對象(需要被代理的對象),一個日誌切面類; 一個對象: package com.anotation.aop; import org.sp

原创 Spring自定義註解使用、父子容器問題、源碼角度分析bug

結合源碼分析 Spring 容器與 SpringMVC 容器之間的關係 問題 問題描述:項目中發現,自定義切面註解在 Controller 層正常工作,在 Service 層卻無法正常工作。爲了便於分析,去掉代碼中的業務邏輯,只留下場景。

原创 生產環境如何使用java線程池

ThreadPoolExecutor誰都會用,但是如何用的好、用的對,可能就仁者見仁、智者見智~ 吹之前,還是把ThreadPoolExecutor簡單介紹一下: public ThreadPoolExecutor(int co

原创 Spring源碼解讀以及Spring整體結構淺析

BeanFactory結構圖 Spring容器啓動過程 Bean實例化過程   1、bean實現Aware接口的意義(圖中檢查Aware相關接口並設置相關依賴) package com.anotation.bean; import

原创 Spring註解驅動開發

Spring註解驅動開發圖譜 說明: 1、@Conditional package com.anotation.bean; public class Person { private String name; private In

原创 Spring配置文件beans.xml頭部配置解釋

看如下的beans.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" x

原创 SpringMVC 統一預處理返回值 @ControllerAdvice,ResponseBodyAdvice 統一處理返回值/響應體

ResponseBodyAdvice是spring4.1的新特性,其作用是在響應體寫出之前做一些處理;比如,修改返回值、加密等。我在項目中的用到@ControllerAdvice,ResponseBodyAdvice的目的,是爲每個請求的

原创 測試 ThreadPoolExecutor 中遇到的近似死鎖問題

今天在做一個簡單的小test時,發現了ThreadPoolExecutor的一個問題,先列出代碼:主要功能是往一個鏈接中插入、刪除數據 鏈表的節點: public class BoundedNode { public Ob

原创 消息中間件:Kafka

mq使用的目的 應用解耦:屏蔽實現細節、異步通信,升級、擴容互不影響 流量消峯:生產速率>消息速率、消息積壓能力、秒殺系統、批量導入 消息廣播 最終一致性 kafka多實例、多分區、多副本: 1、說明: kafka實例:有四個Broke

原创 性能分析4~jmap命令分析:堆信息、內存溢出

先看一個例子:jmap -heap pid該命令用於:展示pid的整體堆信息,運行結果如下 zhengchao1991deMacBook-Pro:~ zhengchao1991$ jmap -heap 33628 Attaching t

原创 性能分析1~top命令

最近開始學習解決線上問題的知識,大神一般怎麼做,我也不知道,網上一搜都是top作爲馬前卒,來看看我的電腦這個命令運行的結果: 第一次看,估計不是太適應,我們只看核心簡單的: load avg: linux系統中的Load對當前CP