原创 mysql索引優化實踐

背景 最近在寫一些數據統計的面板,裏面有sql對錶數據的聚合統計,我的主表現在有100來萬的數據,其間看了很多資料。記錄一下sql索引的優化過程. sql 如下,只有一個連表查詢,再加上函數聚合出結果 select count(i

原创 spring之我見- spring循環依賴解決方案

單例在spring裏的獲取方式 今天講一下spring中針對單例bean的循環依賴問題,本着追本溯源的學習理念,我們要先知道單例在spring中怎麼管理的。spring獲取實例都通過beanfactory的getBean方法獲取實

原创 釘釘機器人限流應對方案--延遲隊列的實現和內存泄漏思考(上)

需求 最近做公司的報警系統,需要做釘釘推送報警信息,但是釘釘有限流措施,一分鐘內發多了會導致"send too fast"異常,雖然我們可以通過限流工具來拒絕多餘的信息,但是我們希望信息不要漏掉.如果推送時間接受可以晚一點的話,我

原创 聊聊ReentrantLock的鎖設計

前言 之前看過美團的一篇不可不說的Java“鎖”事,對java鎖的概念做了一次梳理,其實在java類中,ReentrantLock算是一個對鎖概念運用的典範,看懂它的源碼對鎖的理解很有幫助。我也以ReentrantLock爲原型,

原创 JAVA鎖的集大成應用者--synchronized的鎖優化

前言 之前博客轉載過美團的鎖介紹文章 【基本功】不可不說的Java“鎖”事–轉自美團技術博客,寫的非常好,但是在鎖的落地中,有哪個可以囊括大部分鎖的落地應用,我覺得synchronized可以是一個。下面就講講synchroniz

原创 spring之我見--Controller註冊到DispatchServlet請求處理(下)

1 DispatcherServlet請求分發 1.1 DispatcherServlet的初始化 在web.xml文件裏,跟ContextLoaderListener形影不離的應該就是DispatcherServlet了,它一般

原创 深入理解Java內存模型(二)-- 重排序

很棒的一個關於Java內存模型系列文章 轉載自併發編程網 – ifeve.com 本文鏈接地址: 深入理解java內存模型系列文章 因文章有些配圖已經不完整,所以通過快照找到原圖,並在本人博客中做轉載保存。 數據依賴性 如果兩個操

原创 深入理解Java內存模型(六)-- final

很棒的一個關於Java內存模型系列文章 轉載自併發編程網 – ifeve.com 本文鏈接地址: 深入理解java內存模型系列文章 因文章有些配圖已經不完整,所以通過快照找到原圖,並在本人博客中做轉載保存。 增強的final語義

原创 Tomcat源碼之旅--讓我們的Servlet容器支持多線程

上一篇我們試了下怎麼寫一個簡易的Servlet容器,這段時間繼續看了下面的章節,講的內容對應的分支V1.5和V1.6 https://github.com/lovejj1994/SimpleServlet v1.5 實現 tom

原创 【基本功】不可不說的Java“鎖”事--轉自美團技術博客

前言 我花了一個下午看完了這篇博文,這篇文章對鎖的概念寫的非常通俗易懂,讓我們有種感覺,那就是我們不僅只是用着java的api,而且知道其大概內部構造。 Java提供了種類豐富的鎖,每種鎖因其特性的不同,在適當的場景下能夠展現

原创 深入理解Java內存模型(四)-- volatile

很棒的一個關於Java內存模型系列文章 轉載自併發編程網 – ifeve.com 本文鏈接地址: 深入理解java內存模型系列文章 因文章有些配圖已經不完整,所以通過快照找到原圖,並在本人博客中做轉載保存。 volatile的特性

原创 spring之我見--spring boot的組件化(以logging日誌初始化爲例)

之前寫了java的多級緩存,是一個簡單的util工具包,想着能不能跟springboot 做集成,順便了解下spring boot 組件原理,比如衆多的 xx-spring-boot-starter.這篇文章以 spring b

原创 釘釘機器人限流應對方案--延遲隊列的實現和內存泄漏思考(下)

沒有被回收的對象 上篇文章介紹了自己寫的延遲隊列工具。我們提到,延遲隊列不需要長久存活,我們使用帶有lru功能的LinkedHashMap來淘汰一些不常用的LimitUtil。但是對象有沒有真的會回收呢? 簡單寫了一個測試類,建了

原创 nginx構建圖片服務(裁剪+壓縮+緩存)

背景 最近和朋友在建一個小站,主要展示圖片的,對象存儲服務囊中羞澀,就根據nginx自己弄一個圖片存儲服務,實現了動態壓縮,裁剪以及緩存等功能。 ngx_http_image_filter_module nginx 有很多現成好用

原创 CyclicBarrier自旋改造

前言 最近java的concurrent庫學習的熱火朝天,有以 悲觀鎖 爲代表,AQS運用的如火純青的LinkedBlockingQueue,ArrayBlockingQueue。也有 樂觀鎖 爲代表,把 CAS+自旋 演示的出神