原创 rocketMQ-consumer源碼

RocketMQ 服務器與消費之之前的消息傳送方式分爲拉模式和推模式,其中推模式是基於拉模式實現的,一個拉取任務完成之後立刻開始下一個拉取任務。 消費模式分爲集羣消費(clustering)和廣播消費(broadcasting)。

原创 rocketMQ-consumer

RocketMQ 服務器與消費之之前的消息傳送方式分爲拉模式和推模式,其中推模式是基於拉模式實現的,一個拉取任務完成之後立刻開始下一個拉取任務。 消費模式分爲集羣消費(clustering)和廣播消費(broadcasting)。

原创 rockeMQ-producer源碼

DefaultMQProducerImpl 啓動 start方法 producerGroup如果不是CLIENT_INNER_PRODUCER,並且intanceName=DEFAULT,則把instanceName改爲PID

原创 rocketMQ消息存儲源碼

MapedFile public static final int OS_PAGE_SIZE= 1024 * 4; —操作系統每頁大小,默認4K private static final AtomicLong TOTAL_MAPP

原创 sublime text3 markdown

sublime text3 markdown插件 1.markdown editing 用於markdown編輯,高亮。 安裝: command+shift+p->輸入 install->輸入markdown editing->安裝

原创 Mac OS解決JAVA版本問題

最近安裝了jdk8之後,PATH,JAVA_HOME,~/.bash_profile文件都配置好了版本,指向新安裝的1.8,但是不管是IDE還是MVN命令編譯代碼總是不通過,報錯:無效的目標發行版: 1.8。 執行java -versio

原创 Spring 過濾器Filter總結

一直以來沒有仔細研究過Filter和Intercepter,意識到過濾器的攔截器的認識很模糊。所以仔細學習了一下。其實還是很簡單的。本來想把Filter和Interceptor寫在一起,文章太長了還是分兩篇寫吧~ 區別 過濾器和攔截器最大

原创 Spring攔截器原理

前幾天學習了spring中異常處理器是怎麼加載進DispatcherServlet並且怎麼處理異常的,以及過濾器的原理。今天看下攔截器是怎麼工作的,都知道是在DispatcherServlet中執行handler的方法前後會執行攔截器的p

原创 Mybatis Select...for update用法

Mybatis Select…for update用法 最近有需求批量處理大量數據,由於數據量很大,如果加分佈式鎖讓一個線程跑需要太長時間,所以考慮集羣中二十幾臺機器並行執行,每次取1000條數據處理。 選擇了使用select…for u

原创 Java異步Future詳解

簡介 Future主要用於有返回值的異步任務。最核心的類是FutureTask,它是Future接口唯一的實現類。 FutureTask 可以看出FutureTask類實現了Runnable和Future接口。 內部屬性有

原创 atomatic包

大致看了下atomatic包下的類,都直到是用的CAS樂觀鎖,有的方法會重試直到成功,有的方法不管成功和失敗都會立刻返回。 AtomicInteger 類 comparaAnSet JDK1.7和1.8一樣,調用unsafe的compar

原创 spring全局異常處理作用機制

最近遇到spring MVC中異常捕獲的問題,比較好奇spring是怎麼catch住exception然後調用exceptionHandler中的方法的。發現真相原來這麼簡單。。。。居然直接用的是try catch。 根據源碼可以看出,要

原创 swagger 的使用

首先在 swagger editer 裏寫好doc 選擇下載爲json文件 把這個json文件放在tomcat的 root 目錄下  下載swagger ui 的source 放在tomcat的root目錄下 並且修改 swagger

原创 servlet mapping 中URL pattern

在controller裏面返回 ModelAndView 遇到No mapping found for HTTP request with URI [/WEB-INF/xx.jsp] in Dispatcher的問題,/WEB-INF/x

原创 Spring boot用jar包註冊service服務

最近項目用到spring boot,看了官方文檔,可以把spring boot的jar包安裝爲一個service,直接用service serviceName start/stop/status/restart來控制。還可以設置開機自動啓